我正在尝试编写一个中间件来处理错误。但是我不知道如何将正确的格式发送到前端。在下面,我将列出我的所有尝试,希望对您有所帮助。
app.use(function(err, req, res, next) {
const formatted = err;
res.send(formatted)
});
邮递员结果
{“代码”:422}
app.use(function(err, req, res, next) {
const formatted = `${err}`;
res.send(formatted)
});
结果(邮递员)
错误:请求返回的错误代码:422和正文:{“ status”:422,“ title”:“显示名称:build_id已在该产品上使用。”,“ type”:“ {{3} }“,”错误“:{” display_name“:”显示名称:build_id已经在该产品上使用。“}}
那是我想要的数据,但是我需要在json中
答案 0 :(得分:0)
如果我不得不猜测,您可能正在寻找res.json(err)
?
https://expressjs.com/en/api.html#res.json
编辑:完整示例:
app.use(function(err, req, res, next) {
if (err) res.json(err)
});
答案 1 :(得分:-1)
您可以通过这种方式完成
app.use(function(err, req, res, next) {
if (err) {
res.json({
status: "error",
error: `${err}` // <-- edited
});
} else {
next();
}
});