Swagger2.0, если указан Parent, то все его дочерние элементы должны быть обязательными - PullRequest
0 голосов
/ 14 мая 2018

Я использую Swagger2.0 для определения моего API. Одним из требований является то, что:

  • У меня есть поле MyParent, которое является необязательным
  • вместо этого все его дочерние элементы обязательны при указании MyParent
    • MyParent_child1 обязательно, если указан MyParent
    • MyParent_child2 обязательно, если указан MyParent

Как я могу смоделировать это поведение в своем определении Swagger?

1 Ответ

0 голосов
/ 14 мая 2018

Определите MyParent необязательное свойство и его дочерние свойства MyParent_child1 и MyParent_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
...