swagger-node - Ошибка: проверка ответа не удалась: void не допускает значение

Я использую библиотеку 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 у меня есть экспресс-приложение, и я просто перенаправляю так:

res.redirect(redirect_url);

Как я могу достичь перенаправления с помощью Swagger-узла?

Stacktrace выглядит следующим образом:

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)

1 ответ

Не знаю, поняли ли вы это уже, но чтобы заставить работать 302 ответ, нужно определить тип схемы из ответа в виде строки

responses:
  "302":
    description: "302 response"
    schema:
      type: string

Попробуйте добавить схему после description: found

        schema:
         type: array
          items:
           $ref: '#/definitions/example'

return res.status(200).json("Success");

больше информации>

Swagger RESTful API Документация Спецификация

API экспресс документация

Другие вопросы по тегам