如何指定HTTP错误代码?

node.js Node.js

飞云

2020-03-26

我试过了:

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。

第3779篇《如何指定HTTP错误代码?》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

4个回答
小宇宙Green 2020.03.26

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

JinJin 2020.03.26

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

Stafan路易 2020.03.26

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

Gil伽罗小宇宙 2020.03.26

一个简单的班轮;

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

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android