微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Node.js 头盔和 swagger-ui

如何解决Node.js 头盔和 swagger-ui

我在 Node.js 中使用 swagger 来编写 API 文档。 现在我想使用头盔来确保安全,但是当我使用头盔时,会发生错误。 但是,如果我将头盔放在路由器下方以进行 swagger,则它可以正常工作,这意味着头盔会执行某些使 swagger-ui 无法加载的操作。

下面的代码是我如何使用头盔。

var helmet = require('helmet')
app.use(helmet());

下图是swagger的错误

enter image description here

修复以允许 cors 但仍然出现错误

//allow cors
app.use(function(req,res,next) {
    res.header("Access-Control-Allow-Origin","*"); // update to match the domain you will make the request from
    res.header("Access-Control-Allow-Headers","Origin,X-Requested-With,Content-Type,Accept");
    next();
  });
  
// use helmet
var helmet = require('helmet')
app.use(helmet());

解决方法

您需要启用 CORS ,以便它在响应中发送 Access-Control-Allow-Origin: * 标头。 CORS 代表跨源资源共享。它向公众开放了我们打算提供的内容,以便通用 JavaScript/浏览器访问。

示例:

app.use(function(req,res,next) {
  res.header("Access-Control-Allow-Origin","YOUR-DOMAIN.TLD"); // update to match the domain you will make the request from
  res.header("Access-Control-Allow-Headers","Origin,X-Requested-With,Content-Type,Accept");
  next();
});

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。