0

express-openapi-validator在我的 Node.js 项目中使用了一个 openapi 验证器 (),但无法弄清楚如何控制匹配路径的顺序。

如果我有 2 条路径,例如,

/foo/{type}
   parameters:
     - name: type
       schema:
          type: string
          enum: ['bar', 'bam']

/foo/bar

对于对 的请求/foo/bar,总是匹配第二条路径。

我如何控制这场比赛的优先级?

4

1 回答 1

1

对于对 的请求/foo/bar,总是匹配第二条路径。

这是正确和预期的行为。OpenAPI 规范规定,在类似的模板路径之前必须匹配特定路径 - 请参阅路径模板匹配。这不应该是可配置的,否则行为将与规范相矛盾。

要让请求由/foo/bar处理/foo/{type},您需要/foo/bar从 API 定义中删除路径。

于 2021-08-04T10:13:09.373 回答