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

我有一小块自定义的中间件,但我似乎无法得到响应的内容types是什么,但文本/ HTML。

getValidator: function(req, res, next) { res.setHeader('Content-Type', 'application/json'); if (!req.query.Name) { next('please provide a Name'); } return next(); } 

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

谢谢!

我要回答自己。 :)请纠正我,如果我不正确,但这似乎是工作。

  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处理程序,并尝试返回你的文本/ HTML。 我希望这可以帮助别人! (或者我下次把它搞乱了)