Изключих приложението на моя възел Експрес до минимум. Дори не определям маршрути. Когато отида на всеки маршрут, напр. localhost: 3000 / sdfsdf, получавам очакваната мощност:
{"съобщение": "Не е намерено", "грешка": {"status": 404}}
HTTP кодът на реакцията обаче е 200. Очаквам да е 404. Какво ми липсва?
var express = require("express");
var path = require("path");
var app = express();
app.use(express.static(path.join(__dirname, "public")));
// catch 404 and forward to error handler
app.use(function(req, res, next) {
var err = new Error("Not Found");
err.status = 404;
next(err);
});
// development error handler
if (app.get("env") === "development") {
app.use(function(err, req, res, next) {
//res.set("Content-Type", "application/json");
res.status(err.status || 500);
res.status("error").json({
message: err.message,
error: err
});
});
}
// production error handler
app.use(function(err, req, res, next) {
res.set("Content-Type", "application/json");
res.status(err.status || 500);
res.status("error").json({
message: err.message,
error: {"env": "prod"}
});
});
module.exports = app;
Отговори:
1 за отговор № 1res.status(err.status || 500);
res.status("error").json({
най-накрая ще замениш res.statuscode
с "error
". промени на
res.status(err.status || 500);
res.json({