【发布时间】:2016-10-31 12:32:20
【问题描述】:
我正在 Swagger 的帮助下实现一个 API 优先的应用程序。要返回的最重要的对象之一是 DICOM 对象,它返回具有灵活名称的属性集合,例如:
{
"00080005": {"vr":"CS","Value":["ISO_IR 100"]},
"00080020": {"vr":"DA","Value":["20160602"]},
"00080030": {"vr":"TM","Value":["171855.7490"]},
"00080050": {"vr":"SH","Value":["1234"]},
"00080090": {"vr":"PN","Value":[{"Alphabetic":"Parikh MD^Anush^M"}]}
}
所以我无法提前知道所有属性的名称(00080005、00080030等),虽然文件结构很统一。
我的具体问题是:这种 JSON 文档的架构定义是什么。
我尝试了以下方法但没有成功:
definitions:
DicomMetadataJson:
type: object
patternProperties:
^\d{8}:
type: object
但 Swagger 编辑器返回如下错误:
代码:“OBJECT_ADDITIONAL_PROPERTIES”
消息:“不允许使用其他属性:patternProperties”
描述:“JSON Schema 对象的确定性版本。”
【问题讨论】:
-
我在 Swagger 规范中阅读了以下内容,但没有关于它的示例: 架构公开了两种类型的字段。具有声明名称的固定字段和声明字段名称的正则表达式模式的模式字段。模式化的字段可以多次出现,只要每个都有唯一的名称。
-
完全一样 - 它说你可以做到,但没有说明如何
标签: json schema yaml swagger dicom