代码之家  ›  专栏  ›  技术社区  ›  Guilherme G

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

  •  0
  • Guilherme G  · 技术社区  · 1 年前

    在我的路由中有这个选项,当访问第一个参数(页面)时,它会正确地返回从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",
        },
        ],
    

    我试着阅读招摇的文档以获得解决方案,但在我看来是正确的。

    2 回复  |  直到 1 年前
        1
  •  1
  •   Helen    1 年前

    当访问第一个参数(页面)时,它会正确地返回从swagger-ui键入的值,当访问第二个参数(流派)时,会错误地将其解释为字符串“{流派}”

    It was a bug 在Swagger UI诉5.17.7案中,这在诉5.17.8案中得到了修正。

        2
  •  0
  •   Jeremy Fiel    1 年前

    两者都不应该工作,因为你没有 schema 为任一参数定义。

    试试这个。。。

    parameters: [
        {
          in: 'path',
          name: "page",
          required: true,
           schema: {
            type: "string"
           },
        },
        {
          in: 'path',
          name: "genre",
          required: true,
          schema: {
            type: "string"
          },
        },
        ],