我们正在使用Swagger 2.0作为文档。我们在Pro-gramically中直接创建swagger 2.0规范我们的数据设计文档。
我们的模型非常复杂且嵌套。我想了解我们可以定义内联定义的嵌套数组对象。
例如:
{
"definitions": {
"user": {
"type": "object",
"required": ["name"],
"properties": {
"name": {
"type": "string"
},
"address": {
"type": "array",
"items": {
"type": "object",
"properties": {
"type": {
"type": "string",
"enum": ["home",
"office"]
},
"line1": {
"type": "string"
}
},
"Person": {
"type": "object",
"properties": {
"name": {
"type": "string"
}
}
}
}
}
}
}
}
}
我们在很多情况下会在模型中遇到这种情况,并且定义#ref不是我们此时想要考虑的选项。我们需要这个内联处理。
根据以下帖子:https://github.com/swagger-api/swagger-editor/issues/603#even enter code here
t-391465196看起来不支持处理内联定义的嵌套数组对象。
由于许多大型企业都有非常复杂的数据模型,我们希望在swagger 2.0规范中支持此功能。
是否有任何想法要添加此功能。
答案 0 :(得分:3)
您的文档只是无效,这与嵌套数组无关:Person
内的Swagger 2.0架构中不允许使用属性items
。
$ref
中唯一允许的属性包括:format
,title
,description
,default
,multipleOf
,{{1} },maximum
,exclusiveMaximum
,minimum
,exclusiveMinimum
,maxLength
,minLength
,pattern
,maxItems
, minItems
,uniqueItems
,maxProperties
,minProperties
,required
,enum
,additionalProperties
,type
,{{ 1}},items
,allOf
,properties
,discriminator
,readOnly
,xml
,externalDocs
。