我有一个expressJS API。 在POST路由中,我仅接受两种类型的标头:

application/x-www-form-urlencoded

application/json

我可以表达一种强制只接受两个标头并拒绝任何其他POST请求并以某种400错误进行响应的方式吗?

===============>>#1 票数:4

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

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(406);
  next();
});

  ask by samol translate from so

未解决问题?本站智能推荐: