OpenAPI: переопределение ссылки, ссылка на одно поле - PullRequest
0 голосов
/ 11 марта 2020

Я использую два файла:

common.yaml содержит:

components:

  schemas:
    GenericError:
      type: object
      properties:
        code:
          description: The error code.
          type: integer
        message:
          description: The error description.
          type: string
        details:
          description: Optional details.
          type: object

  examples:
    Bamboozled:
      value:
        code: 10
        message: Bamboozled
        details: You've been bamboozled

services.yaml` содержит:

paths:
  /logistic:
    post:

      description: Logistic

      responses:
        403:
          description: Forbidden
          content:
            application/json:
              schema:
                $ref: '../common.yaml#/components/schemas/GenericError'
              examples:
                Bamboozled:
                  value:
                    $ref: '../common.yaml#/components/examples/Bamboozled/value'

In services.yaml, Я хотел бы переопределить поле details. Я попробовал следующее:

              examples:
                Bamboozled:
                  value:
                    $ref: '../common.yaml#/components/examples/Bamboozled/value'
                    details: my custom details

, но это не сработает, оно будет отображаться:

{
  "$ref":

  "#/paths/~1logistic/post/responses/403/content/application~1json/examples/Bamboozled/value",
"details": "my custom details"
}

Есть ли способ, которым я могу переопределить его правильно?

В качестве альтернативы, я могу ссылаться только на указанные c поля? Поэтому у меня будет services.yaml что-то вроде:

              examples:
                Bamboozled:
                  value:
                    $ref: '../common.yaml#/components/examples/Bamboozled/value/code'
                    $ref: '../common.yaml#/components/examples/Bamboozled/value/message'
                    details: my custom details

(это не работает)

...