Как определить параметры заголовка в OpenAPI 3.0? - PullRequest
0 голосов
/ 01 мая 2018

В OpenAPI (Swagger) 2.0 мы можем определить параметры заголовка следующим образом:

paths:
  /post:
    post:
      parameters:
        - in: header
          name: X-username

Но в OpenAPI 3.0.0 параметры заменяются телами запросов, и я не могу найти способ определить параметры заголовка, которые в дальнейшем использовались бы для аутентификации.

Как правильно определить заголовки запросов в OpenAPI 3.0.0?

1 Ответ

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

В OpenAPI 3.0 параметры заголовка определяются так же, как в OpenAPI 2.0, за исключением того, что type был заменен на schema:

paths:
  /post:
    post:
      parameters:
        - in: header
          name: X-username
          schema:
            type: string

Если сомневаетесь, ознакомьтесь с руководством Описание параметров .

Но в Swagger 3.0.0 параметры заменяются телами запросов.

Это верно только для параметров формы и тела. Другие типы параметров (путь, запрос, заголовок) по-прежнему определяются как parameters.

определяет параметры заголовка, которые в дальнейшем будут использоваться для аутентификации.

Лучшим способом определения параметров, связанных с аутентификацией, является использование securitySchemes вместо явного определения этих параметров в parameters. Схемы безопасности используются для таких параметров, как ключи API, идентификатор приложения / секрет и т. Д. В вашем случае:

components:
  securitySchemes:
    usernameHeader:
      type: apiKey
      in: header
      name: X-Username

paths:
  /post:
    post:
      security:
        - usernameHeader: []
      ...
...