Как определить операцию с параметрами body и header в OpenAPI 2.0? - PullRequest
2 голосов
/ 17 марта 2020

Как определение OpenAPI 2.0 (Swagger 2.0) может иметь тело и параметр заголовка в одной и той же операции? Я пробовал следующее:

  /image-correction:
    post:
      operationId: image-correction_create
      tags:
        - image-corrections
      consumes:
        - application/json
      produces:
        - application/json
      parameters:
        - in: body
          name: requestBody
          description: imageCorrection
          schema:
            $ref: '#/definitions/ImageCorrection'
        - in: header
          name: X-Request-ID
          schema:
            type: string
            format: uuid
          required: true

, но редактор Swagger показывает ошибку:

НЕ ДОЛЖНО иметь дополнительные свойства AdditionalProperty: схема

1 Ответ

1 голос
/ 17 марта 2020

В OpenAPI 2.0 параметры заголовка, запроса и пути не используют schema, они используют type напрямую. Измените свой параметр заголовка следующим образом:

    - in: header
      name: X-Request-ID
      type: string     # <----
      format: uuid     # <----
      required: true

Это было изменено в OpenAPI 3.0 (openapi: 3.0.0), где все типы параметров используют schema.

...