Swagger节点将URL短语作为参数

时间:2017-09-05 10:38:37

标签: node.js rest swagger swagger-node-express

我使用swagger-node进行REST API,我在这里发现了一个荒谬的问题。

这是我的GET请求之一:

GET: /students/{id}/{name}

(id是数字)

现在我写了另一个请求:

GET: /students/routeInfo/{id}

2 nd请求我跟踪错误:

预期类型为数字,找到类型字符串。这显然意味着 2 nd请求正在尝试"掩盖" 1 st请求。我认为不应该这样做。

我做错了什么或者还有其他方法可以解决这个问题吗?

2 个答案:

答案 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节路径模板匹配。它被称为模糊匹配,“......由工具决定使用哪条路径。”当然,这个工具是一个招摇节点。

虽然很奇怪,不是吗!