Подтвердить что ты не робот

Swagger: проблема с параметром Path

Я пытаюсь создать файл swagger со следующим путем:   пути:      /v 1/customers/{id}/summary:

Однако я получаю следующую ошибку сразу:

API требует параметра пути, но он не определен: id на путях ▹/v1/customers/{id}/summary

Кажется, это не похоже на параметр id. Может ли кто-нибудь сказать мне, как я могу это исправить?

Если я развернусь, я вижу следующее:

Details
 Object
 swaggerError: Object
 errors: Array [1]
 0: Object
code:  "MISSING_API_PATH_PARAMETER"
message:  "API requires path parameter but it is not defined: id"
data:  "/v1/customers/{id}/summary"
 path: Array [2]
 warnings: Array [0]
4b9b3361

Ответ 1

В принципе, вы объявляете путь с параметром пути в нем, используя шаблоны путей. В этом случае {id} объявляет параметр пути с именем id.

Когда вы объявляете такой путь, это означает, что вы должны объявить этот параметр пути как часть операции.

Взгляните на этот пример YAML:

  /pets/{id}:
    get:
      description: Returns a user based on a single ID, if the user does not have access to the pet
      operationId: findPetById
      produces:
        - application/json
        - application/xml
        - text/xml
        - text/html
      parameters:
        - name: id
          in: path
          description: ID of pet to fetch
          required: true
          type: integer
          format: int64
      responses:
        '200':
          description: pet response
          schema:
            $ref: '#/definitions/pet'
        default:
          description: unexpected error
          schema:
            $ref: '#/definitions/errorModel'

Вы можете увидеть там {id} в пути и соответствующее определение параметра id. Без него спецификация не будет действительна.