当前位置:  开发笔记 > 编程语言 > 正文

如何使用ExpressJS检查Content-Type?

如何解决《如何使用ExpressJS检查Content-Type?》经验,为你挑选了2个好方法。

到目前为止,我有一个非常基本的RESTful API,我的Express应用程序配置如下:

app.configure(function () {
  app.use(express.static(__dirname + '/public'));
  app.use(express.logger('dev'));
  app.use(express.bodyParser());
});

app.post('/api/vehicles', vehicles.addVehicle);

如何/在哪里可以添加阻止请求到达我的中间件app.post以及app.get内容类型不是application/json

中间件只应将具有不正确内容类型的请求停止到以/api/.开头的URL .



1> Willie Chalm..:

如果您使用的是Express 4.0或更高版本,则可以调用request.is()处理程序的请求来过滤请求内容类型.例如:

app.use('/api/', (req, res, next) => {
    if (!req.is('application/json')) {
        // Send error here
        res.send(400);
    } else {
        // Do logic here
    }
});



2> mscdex..:

这将中间件安装在/api/(作为前缀)并检查内容类型:

app.use('/api/', function(req, res, next) {
  var contype = req.headers['content-type'];
  if (!contype || contype.indexOf('application/json') !== 0)
    return res.send(400);
  next();
});

推荐阅读
小色米虫_524
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有