我的招摇定义如:
someDef:
type: object
properties:
enable:
type: boolean
default: false
nodes:
type: array
maxItems: 3
items:
type: object
properties:
ip:
type: string
default: ''
我的节点是数组,它具有最大值:3。 我希望我的节点项目长度为0或3。 预先感谢。
答案 0 :(得分:2)
“ 0或3项”可以在OpenAPI 3.0(openapi: 3.0.0
)中定义,而不能在OpenAPI 2.0(swagger: '2.0'
)中定义。
在OpenAPI 2.0中,maxItems: 3
是您最多可以做的事。
在OpenAPI 3.0中,可以将oneOf
与minItems
和maxItems
结合使用来定义“ 0或3项”条件:
# openapi: 3.0.0
nodes:
type: array
items:
type: object
properties:
ip:
type: string
default: ''
oneOf:
- minItems: 0
maxItems: 0
- minItems: 3
maxItems: 3
请注意,尽管oneOf
是OpenAPI 3.0规范的一部分(即,您可以编写包含oneOf
的API定义),但对oneOf
的实际工具支持可能会有所不同。