Gif*_*per 4 api yaml xor swagger-ui swagger-2.0
我想知道是否可以在 swagger.yaml/json 中使用 XOR 如果我有类似的内容,例如:
PostableEntity:
properties:
first_property:
type: string
second_property:
type: string
minLength: 1
description: foo
third_property:
type: number
required:
- third_property
Run Code Online (Sandbox Code Playgroud)
现在,如果未设置 secondary_property ,我怎样才能使 first_property 成为必需的,反之亦然?
条件属性无法建模,但您可以使用多态性寻求解决方法。您可以使用 和 两个子模型 ( 和 ) 创建一个父模型P,third_property一个C1( C2)C1与first_property另一个 ( C2) 与second_property。使用allOf关键字和字段,您将获得具有属性 form或 的discriminator模型。P+C1P+C2
请参阅文档中的“组合和继承(多态性)”一章。
Swagger 允许使用 JSON Schema 的 allOf 属性组合和扩展模型定义,实际上提供了模型组合。allOf 接受一组对象定义,这些对象定义独立验证,但共同组成一个对象。
暗示:
当您的 swagger 编辑器使用关键字报告您以下错误时,请不要感到困惑allOf:不允许使用其他属性,但设置了属性 <foo>
目前 github 上已经报告了一个错误,请参阅此链接。
| 归档时间: |
|
| 查看次数: |
1391 次 |
| 最近记录: |