ExpressJS 4.15.2自定义中间件设置内容类型

时间:2017-03-28 18:24:05

标签: node.js express middleware

我有一小块自定义中间件,但我似乎无法将响应的内容类型设置为text / html。

  getValidator: function(req, res, next) {
    res.setHeader('Content-Type', 'application/json');

    if (!req.query.Name) { next('please provide a Name'); }

    return next();
  }

这是一款超级小应用,没有其他自定义中间件。

谢谢!

1 个答案:

答案 0 :(得分:1)

我要回答自己。 :)如果我不正确,请纠正我,但这确实有效。

  getValidator: function(req, res, next) {

    if (!req.query.Name) { return res.status(500).json({ error: 'please provide a Name' }); }

    return next();
  }

如果你不使用“返回”,它将继续通过链。如果您使用next('ANYTHING'),它将命中ExpressJS的默认404处理程序并尝试返回text / html。我希望这有助于某人! (或者我下次搞砸了)