Я пытался:
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.
node.js
express
http-status-codes
тек-человек
источник
источник
Ответы:
В документах Express (Version 4+) вы можете использовать:
http://expressjs.com/4x/api.html#res.status
<= 3,8
источник
res.status(400).json({ error: 'message' })
res.sendStatus(401);
.res.send('Then you shall die')
..status()
она устарела..sendStatus()
это просто сокращение для.status(code).send(codeName)
гдеcodeName
стандартный текст ответа HTTP для данногоcode
.Простой вкладыш;
источник
Я хотел бы централизовать создание ответа об ошибке следующим образом:
Поэтому у меня всегда один и тот же формат вывода ошибок.
PS: конечно, вы можете создать объект для расширения стандартной ошибки, например:
источник
Вы можете использовать
res.send('OMG :(', 404);
толькоres.send(404);
источник
res.send(404)
устарела. Это сейчасres.sendStatus(404)
. expressjs.com/en/api.html#res.sendStatusВ экспрессе 4.0 они правильно поняли :)
источник
Версия промежуточного программного обеспечения errorHandler в комплекте с некоторыми (возможно, более старыми?) Версиями экспресс-кода имеет код состояния. Версия, задокументированная здесь: http://www.senchalabs.org/connect/errorHandler.html, с другой стороны, позволяет вам делать то, что вы пытаетесь сделать. Так что, возможно, попытка обновления до последней версии Express / Connect.
источник
Из того, что я видел в Express 4.0, это работает для меня. Это пример аутентификации необходимого промежуточного программного обеспечения.
источник
Старый вопрос, но все еще подходит для Google. В текущей версии Express (3.4.0) вы можете изменить res.statusCode перед вызовом next (err):
источник
next
вызывает следующий обработчик, который в express.js обычно пытается отобразить страницы с ошибками.экспресс устарел res.send (тело, статус). Вместо этого используйте res.status (status) .send (body)
источник
Я попытался
..но это дало мне ошибку :
Это работа для меня
источник
Я бы порекомендовал обработать отправку кодов ошибок http с помощью пакета Boom .
источник