Swagger2.0如果指定了Parent,则其所有子项都必须是强制性的

时间:2018-05-14 10:30:46

标签: swagger-2.0

我正在使用Swagger2.0来定义我的API。其中一个要求是:

  • 我的字段MyParent是Optional
  • 只要指定了MyParent,它的子项就是强制性的
    • 如果指定了MyParent,则必须使用MyParent_child1
    • 如果指定了MyParent,则必须使用MyParent_child2

如何在Swagger定义中对此行为进行建模?

1 个答案:

答案 0 :(得分:0)

根据需要定义MyParent一个可选属性及其子属性MyParent_child1MyParent_child2。省略MyParent时,也会省略其子属性,因此在这种情况下子属性验证不适用。

MyModel:
  type: object
  required:
    - foo
  properties:
    foo:
      type: string
    ...
    MyParent:  # not required
      type: object
      properties:
        MyParent_child1:
          type: string
        MyParent_child2:
          type: string
      required:
        - MyParent_child1
        - MyParent_child2