如何指定HTTP错误代码?

我试过了:

app.get('/', function(req, res, next) {
    var e = new Error('error message');
    e.status = 400;
    next(e);
});

和:

app.get('/', function(req, res, next) {
    res.statusCode = 400;
    var e = new Error('error message');
    next(e);
});

但总是会显示错误代码500。

小宇宙Green2020/03/26 16:45:23

我建议使用Boom处理HTTP错误代码的发送

JinJin2020/03/26 16:45:23

表示已弃用的res.send(body,status)。使用res.status(status).send(body)代替

Stafan路易2020/03/26 16:45:23

某些(也许是较旧的?)express版本捆绑的errorHandler中间件版本似乎已对状态代码进行了硬编码。另一方面,此处记录的版本为:http : //www.senchalabs.org/connect/errorHandler.html,您可以执行自己想做的事情。因此,也许尝试升级到Express / Connect的最新版本。

Gil伽罗小宇宙2020/03/26 16:45:23

一个简单的班轮;

res.status(404).send("Oh uh, something went wrong");