我尝试使用以下路径创建一个swagger文件: 路径: / v1 / 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]
答案 0 :(得分:82)
基本上,您通过使用路径模板来声明其中包含路径参数的路径。在这种情况下,{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
参数定义。没有它,规范就不会有效。