1

I'm using swagger-node library, and am trying to achieve a 302 redirect with it. But it results into the error described in the title.

My schema regarding the path looks following:

  /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

In my api, I have express app, and I'm just redirecting like so:

res.redirect(redirect_url);

How could I achieve redirect using swagger-node?

Stacktrace is following:

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)
Ville Miekk-oja
  • 18,749
  • 32
  • 70
  • 106

1 Answers1

4

Don't know if you already figured it out, but to make 302 response work, u have to define the schema type from the response as a string

responses:
  "302":
    description: "302 response"
    schema:
      type: string
  • This works perfectly fine if swagger definition contains text/plain as supported output type which can be defined under produces section. Example - produces: - application/json - text/plain – Shoaib Khan Jul 11 '17 at 14:21