我使用swagger-node进行REST API,我在这里发现了一个荒谬的问题。
这是我的GET请求之一:
GET: /students/{id}/{name}
(id是数字)
现在我写了另一个请求:
GET: /students/routeInfo/{id}
但 2 nd请求我跟踪错误:
预期类型为数字,找到类型字符串。这显然意味着 2 nd请求正在尝试"掩盖" 1 st请求。我认为不应该这样做。
我做错了什么或者还有其他方法可以解决这个问题吗?
答案 0 :(得分:0)
在您的路径定义中,更改type: number
type: string
您的路径将如下所示:
/students/routeInfo/{id}:
x-swagger-router-controller: yourStudentController
get:
tags:
- Student
description: description
operationId: yourOperation
parameters:
- name: id
in: path
description: description id of routeInfo
required: true
type: string
在https://swagger.io/docs/specification/paths-and-operations/
了解详情答案 1 :(得分:0)
OpenAPI规范v3.0文档中描述了完全相同的情况:第3节路径模板匹配。它被称为模糊匹配,“......由工具决定使用哪条路径。”当然,这个工具是一个招摇节点。
虽然很奇怪,不是吗!