Подтвердить что ты не робот

Swagger 2.0 - как сделать "один или другой" параметр?

У меня есть ресурс swagger 2.0, определенный ниже. Как я могу сделать "param1 или param2" обязательным? Caller должен передать либо param1, либо param2.

/some/res:
put:
  summary: some resource
  responses:
    200:
      description: Successful response
      schema:
        $ref: '#/definitions/SomeResponse'
  parameters:
    - name: param1
      type: string
      description: param1
      in: formData
      required: false
    - name: param2
      type: string
      description: param2
      in: formData
      required: false
4b9b3361

Ответ 1

Swagger не поддерживает описание условных или взаимоисключающих параметров (любого типа).

Ответ 2

Спецификация Swagger не поддерживает условное требование или включение/исключение параметров.

То, что я хотел бы предложить, - четко указать в описании свои правила включения/исключения параметров запроса. Затем, используя фреймворк проверки, который зависит от вашего языка (т.е. Javax.validation для Java, рестайлинг-валидация для восстановления и т.д.), Соответствующим образом проверяйте параметры.

Ответ 3

В разделе "Зависимости параметров" Описание параметров Документы Swagger:

Swagger не поддерживает зависимостей параметров и взаимоисключающих параметров. Существует открытый запрос функции на https://github.com/OAI/OpenAPI-Specification/issues/256.

По состоянию на июнь 2017 года этот выпуск имел 21 приоритет, что делает его третьей по значимости проблемой в проекте.