我有一个 expressJS API。在 POST 路由中,我只接受两种类型的 header :
application/x-www-form-urlencodedapplication/json
有没有一种方法可以表示强制只接受两个 header 并拒绝任何其他 POST 请求并以某种 400 错误进行响应?

最佳答案

您可以在每个路由或所有路由的基础上使用像这样的简单中间件:

var RE_CONTYPE = /^application\/(?:x-www-form-urlencoded|json)(?:[\s;]|$)/i;
app.use(function(req, res, next) {
  if (req.method === 'POST' && !RE_CONTYPE.test(req.headers['content-type']))
    return res.send(415);
  next();
});

关于node.js - expressJS : Limit acceptable content-types,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23190659/

10-10 13:11