Saya telah mencoba:
app.get('/', function(req, res, next) {
var e = new Error('error message');
e.status = 400;
next(e);
});
dan:
app.get('/', function(req, res, next) {
res.statusCode = 400;
var e = new Error('error message');
next(e);
});
tetapi selalu kode kesalahan 500 diumumkan.
node.js
express
http-status-codes
orang teknologi
sumber
sumber
Jawaban:
Per dokumen Express (Versi 4+), Anda dapat menggunakan:
http://expressjs.com/4x/api.html#res.status
<= 3,8
sumber
res.status(400).json({ error: 'message' })
res.sendStatus(401);
.res.send('Then you shall die')
..status()
sudah usang..sendStatus()
hanyalah singkatan untuk.status(code).send(codeName)
manacodeName
teks respons HTTP standar untuk yang diberikancode
.Satu liner sederhana;
sumber
Saya ingin memusatkan pembuatan respons kesalahan dengan cara ini:
Jadi saya selalu memiliki format output kesalahan yang sama.
PS: tentu saja Anda dapat membuat objek untuk memperluas kesalahan standar seperti ini:
sumber
Anda bisa menggunakan
res.send('OMG :(', 404);
sajares.send(404);
sumber
res.send(404)
sudah usang. Sekarangres.sendStatus(404)
. expressjs.com/en/api.html#res.sendStatusDi express 4.0 mereka benar :)
sumber
Versi dari middleware errorHandler yang dibundel dengan beberapa (mungkin lebih tua?) Versi ekspres tampaknya memiliki kode status yang di-hardcode. Versi yang didokumentasikan di sini: http://www.senchalabs.org/connect/errorHandler.html di sisi lain memungkinkan Anda melakukan apa yang ingin Anda lakukan. Jadi, mungkin mencoba memutakhirkan ke versi terbaru express / connect.
sumber
Dari apa yang saya lihat di Express 4.0 ini cocok untuk saya. Ini adalah contoh otentikasi yang diperlukan middleware.
sumber
Pertanyaan lama, tetapi masih muncul di Google. Dalam versi Express saat ini (3.4.0), Anda dapat mengubah res.statusCode sebelum memanggil berikutnya (err):
sumber
next
menelpon pengendali berikutnya yang dalam express.js biasanya mencoba membuat halaman kesalahan.nyatakan res.send usang (badan, status) Gunakan res.status (status) .send (body) sebagai gantinya
sumber
Saya mencoba
..tapi itu memberi saya kesalahan :
Ini bekerja untuk saya
sumber
Saya akan merekomendasikan menangani pengiriman kode kesalahan http dengan menggunakan paket Boom .
sumber