OAS3: Почему заголовок Accept определен в ответе? - PullRequest
0 голосов
/ 27 ноября 2018

Здесь говорится здесь , что не следует определять заголовок Accept внутри файла YASL OAS3 в качестве параметра, но в responses.<code>.content.<media-type>.Пример:

paths:
  /employees:
    get:
      summary: Returns a list of employees.
      responses:
        '200':      # Response
          description: OK
          content:  # Response body
            application/json:  # Media type
              schema:          # Must-have
                type: object   # Data type
                properties: 
                  id:
                    type: integer
                  name:
                    type: string
                  fullTime: 
                    type: boolean
                example:       # Sample data
                    id: 1
                    name: Jessica Right
                    fullTime: true

Это заставляет меня задуматься, потому что, если я создаю клиент на основе этого файла OAS3, используя swagger-codegen строку, указанную ниже "content:" (в моем примере application/json) используется как заголовок Accept при выполнении вызова /employees с использованием этого клиента.Таким образом, фрагмент кода, который идентифицирует человека, который использует мой API («userID»), не будет иметь никакого эффекта:

DefaultApi api = new DefaultApi();
api.getApiClient().addDefaultHeader("Accept", "application/vnd.mycompany.userID.v1+json");

Но, как владелец моего API, я нехочу предоставить файл подмены для каждого пользователя.

Почему заголовок Accept в OAS3 определяется в разделе ответа, который, по моему мнению, должен определять только тип носителя для результата?

...