【发布时间】:2017-04-16 16:04:17
【问题描述】:
How to specify a property as null or a reference? 讨论如何使用 jsonschema 将属性指定为 null 或引用。
我希望用 swagger 做同样的事情。
回顾上面的答案,使用 jsonschema,可以这样做:
{
"definitions": {
"Foo": {
# some complex object
}
},
"type": "object",
"properties": {
"foo": {
"oneOf": [
{"$ref": "#/definitions/Foo"},
{"type": "null"}
]
}
}
}
答案的关键在于oneOf的使用。
我的问题的关键点:
我有一个复杂的对象,我想保持干燥,所以我把它放在一个 在我的招摇规范中重用的定义部分:其他属性的值;响应对象等
在我的规范中的各个地方 property 可以是对此类对象的引用,也可以为 null。
如何使用不支持 oneOf 的 Swagger 或
anyOf?
注意:一些 swagger 实现使用 x-nullable(或类似的)来指定属性值可以为 null,但是,$ref 用它引用的对象替换对象,所以它会似乎对x-nullable 的任何使用都被忽略了。
【问题讨论】:
标签: swagger openapi swagger-2.0