apigee - Swagger: problema con el parámetro Path
(1)
Intento crear un archivo swagger con la siguiente ruta: rutas: / v1 / clients / {id} / summary:
Sin embargo me sale el siguiente error de inmediato:
La API requiere un parámetro de ruta pero no está definido: ID en las rutas ▹ / v1 / customers / {id} / summary
No parece gustarle el parámetro ''id''. ¿Alguien podría decirme cómo podría rectificar esto?
Si profundizo en esto veo lo siguiente:
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]
Básicamente, está declarando una ruta que tiene un parámetro de ruta, mediante el uso de plantillas de ruta. En este caso, {id}
declara un parámetro de ruta llamado id
.
Cuando declara una ruta de este tipo, significa que tiene que declarar ese parámetro de ruta como parte de la operación.
Echa un vistazo a este ejemplo 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''
Puede ver que hay un {id}
en la ruta y una definición de parámetro de id
correspondiente. Sin eso, la especificación no será válida.