簡體   English   中英

NodeJs表達錯誤中間件解析

[英]NodeJs express error middleware parsing

我正在嘗試編寫一個中間件來處理錯誤。 但是我不知道如何將正確的格式發送到前端。 在下面,我將列出我的所有嘗試,希望對您有所幫助。

嘗試1

app.use(function(err, req, res, next) {
    const formatted = err;
    res.send(formatted)
});

導致郵遞員

{“代碼”:422}

嘗試2

app.use(function(err, req, res, next) {
    const formatted = `${err}`;
    res.send(formatted)
});

結果(郵遞員)

錯誤:請求返回的錯誤代碼:422和正文:{“ status”:422,“ title”:“顯示名稱:build_id已在此產品上使用。”,“ type”:“ https://developer.bigcommerce .com / api#api-status-codes “,”錯誤“:{” display_name“:”顯示名稱:build_id已在該產品上使用。“}}

那是我想要的數據,但我需要在json中

問題為何在插入字符串后還會顯示更多數據? 我如何將其格式化為json?

如果我不得不猜測,您可能正在尋找res.json(err)

https://expressjs.com/zh-CN/api.html#res.json

編輯:完整示例:

app.use(function(err, req, res, next) {
    if (err) res.json(err)
});

你可以這樣

app.use(function(err, req, res, next) {
    if (err) {
        res.json({
            status: "error",
            error: `${err}` // <-- edited
        });
    } else {
        next();
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM