乳山網(wǎng)站定制北京seo排名廠家
修改router/index.js,添加異常處理中間件
*** 自定義路由異常處理中間件* 注意兩點:* 第一,方法的參數(shù)不能減少* 第二,方法的必須放在路由最后*/
router.use((err, req, res, next) => {console.log(err);const msg = (err && err.message) || "系統(tǒng)錯誤";const statusCode = (err.output && err.output.statusCode) || 500;const errorMsg =(err.output && err.output.payload && err.output.payload.error) ||err.message;res.status(statusCode).json({code: CODE_ERROR,msg,error: statusCode,errorMsg,});
});
完整代碼
const express = require("express");
const boom = require("boom");
const { CODE_ERROR } = require("../utils/constant");// 注冊路由
const router = express.Router();router.get("/", function (req, res) {res.send("讓我們開始express之旅");
});
/*** 集中處理404請求的中間件* 注意:該中間件必須放在正常處理流程之后* 否則,會攔截正常請求*/
router.use((req, res, next) => {// console.log(req,res)next(boom.notFound("接口不存在"));
});
/*** 自定義路由異常處理中間件* 注意兩點:* 第一,方法的參數(shù)不能減少* 第二,方法的必須放在路由最后*/
router.use((err, req, res, next) => {console.log(err);const msg = (err && err.message) || "系統(tǒng)錯誤";const statusCode = (err.output && err.output.statusCode) || 500;const errorMsg =(err.output && err.output.payload && err.output.payload.error) ||err.message;res.status(statusCode).json({code: CODE_ERROR,msg,error: statusCode,errorMsg,});
});
module.exports = router;
創(chuàng)建 utils/constant:(為了方便后期統(tǒng)一維護(hù),單獨拉出來定義)
module.exports = {CODE_ERROR: -1
}
然后刷新http://localhost:8000/user

?這就完成了