Повторно использовать чванливые ответы с тем же кодом состояния, но разными результатами - PullRequest
0 голосов
/ 12 апреля 2019

Большинство ответов в моем чванстве имеют 2 ключа status, обозначающих статус HTTP, и result, обозначающих ответ от этой конечной точки.

Взять, к примеру, следующие 2 ответа NoContent и UserResponse.Они практически одинаковы, отличаются только значением result.Мне было интересно, если бы было возможно реорганизовать это в один ответ, принимая различные значения для result.

NoContent:
  description: Successful operation
  content:
    application/json:
      schema:
        required:
          - status
          - result
        properties:
          status:
            $ref: '#/components/schemas/StatusOK'
          result:
            type: object

UserResponse:
  description: Successful operation
  content:
    application/json:
      schema:
        required:
          - status
          - result
        properties:
          status:
            $ref: '#/components/schemas/StatusOK'
          result:
            $ref: '#/components/schemas/UserResponse'

Я смотрел на allOf , но он принимает только подсхемы,следовательно, следующее было бы невозможным.

SuccessResponse:
  description: Successful operation
  content:
    application/json:
      schema:
        required:
          - status
          - result
        properties:
          status:
            $ref: '#/components/schemas/StatusOK'
NoContent:
  allOf:
    - $ref: '#/components/responses/SuccessResponse'
    - type: object
      properties:
        result:
          type: object
...