SWAGGER BUG:只允许一个参数(!已解决)

问题描述 投票:0回答:2

我的路线有这个选项,当访问第一个参数(页面)时,它会正确返回从 swagger ui 输入的值,当它访问第二个参数(流派)时,它会按字面意思将其解释为字符串“{流派}”。有什么想法吗?

    app.get('/movies/:page/genres/:genre', (req,res) => {// route logic})

swagger 选项对象

    '/movies/{page}/genres/{genre}': {
    get: {
    security: [{ 
    myAuth: []
    }],
    parameters: [
    {
    in: 'path',
    name: "page",
    required: true,
    type: "string",
    },
    {
    in: 'path',
    name: "genre",
    required: true,
    type: "string",
    },
    ],

我尝试阅读 swagger 文档来获取解决方案,但它对我来说看起来很正确。

node.js typescript swagger openapi swagger-ui
2个回答
1
投票

当访问第一个参数(页面)时,它会正确返回从 swagger ui 输入的值,当访问第二个参数(流派)时,它会按字面意思将其解释为字符串 '{genre}'

这是 Swagger UI v.5.17.7 中的一个错误,已在 v.5.17.8 中修复。


0
投票

两者都不起作用,因为您没有为任一参数定义

schema

试试这个...

parameters: [
    {
      in: 'path',
      name: "page",
      required: true,
       schema: {
        type: "string"
       },
    },
    {
      in: 'path',
      name: "genre",
      required: true,
      schema: {
        type: "string"
      },
    },
    ],
© www.soinside.com 2019 - 2024. All rights reserved.