1

我正在使用 swagger-node 库,并试图用它实现 302 重定向。但这会导致标题中描述的错误。

我关于路径的架构如下所示:

  /login:
    x-swagger-router-controller: login
    get:
      produces:
        - text/html
      description: Entry point for login
      operationId: login
      responses:
        "302":
          headers:
            Location:
              type: "string"
          description: Found

在我的 api 中,我有 express 应用程序,我只是像这样重定向:

res.redirect(redirect_url);

如何使用 swagger-node 实现重定向?

堆栈跟踪如下:

Error: Response validation failed: void does not allow a value
at throwErrorWithCode (/home/coder/projects/clever-saml2/clever-saml2/node_modules/swagger-express-mw/node_modules/swagger-node-runner/node_modules/swagger-tools/lib/validators.js:121:13)
at validateTypeAndFormat (/home/coder/projects/clever-saml2/clever-saml2/node_modules/swagger-express-mw/node_modules/swagger-node-runner/node_modules/swagger-tools/lib/validators.js:538:7)
at Object.module.exports.validateSchemaConstraints (/home/coder/projects/clever-saml2/clever-saml2/node_modules/swagger-express-mw/node_modules/swagger-node-runner/node_modules/swagger-tools/lib/validators.js:630:7)
at validateValue (/home/coder/projects/clever-saml2/clever-saml2/node_modules/swagger-express-mw/node_modules/swagger-node-runner/node_modules/swagger-tools/middleware/swagger-validator.js:117:16)
at ServerResponse.res.end (/home/coder/projects/clever-saml2/clever-saml2/node_modules/swagger-express-mw/node_modules/swagger-node-runner/node_modules/swagger-tools/middleware/swagger-validator.js:252:9)
4

1 回答 1

4

不知道您是否已经弄清楚了,但是要使 302 响应正常工作,您必须将响应中的模式类型定义为字符串

responses:
  "302":
    description: "302 response"
    schema:
      type: string
于 2017-07-04T15:03:46.467 回答