国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

express學(xué)習(xí)筆記5 - 自定義路由異常處理中間件

這篇具有很好參考價(jià)值的文章主要介紹了express學(xué)習(xí)筆記5 - 自定義路由異常處理中間件。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

修改router/index.js,添加異常處理中間件
**
 * 自定義路由異常處理中間件
 * 注意兩點(diǎn):
 * 第一,方法的參數(shù)不能減少
 * 第二,方法的必須放在路由最后
 */
router.use((err, req, res, next) => {
  console.log(err);
  const msg = (err && err.message) || "系統(tǒng)錯(cuò)誤";
  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");

// 注冊(cè)路由
const router = express.Router();

router.get("/", function (req, res) {
  res.send("讓我們開始express之旅");
});
/**
 * 集中處理404請(qǐng)求的中間件
 * 注意:該中間件必須放在正常處理流程之后
 * 否則,會(huì)攔截正常請(qǐng)求
 */
router.use((req, res, next) => {
  // console.log(req,res)
  next(boom.notFound("接口不存在"));
});
/**
 * 自定義路由異常處理中間件
 * 注意兩點(diǎn):
 * 第一,方法的參數(shù)不能減少
 * 第二,方法的必須放在路由最后
 */
router.use((err, req, res, next) => {
  console.log(err);
  const msg = (err && err.message) || "系統(tǒng)錯(cuò)誤";
  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ù),單獨(dú)拉出來定義)
module.exports = {
  CODE_ERROR: -1
}

然后刷新http://localhost:8000/user
express學(xué)習(xí)筆記5 - 自定義路由異常處理中間件,express,學(xué)習(xí),筆記

?這就完成了文章來源地址http://www.zghlxwxcb.cn/news/detail-622956.html

到了這里,關(guān)于express學(xué)習(xí)筆記5 - 自定義路由異常處理中間件的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • node 第十四天 基于express的第三方中間件multer node后端處理用戶上傳文件

    Multer 是一個(gè) node.js 中間件,用于處理 multipart/form-data 類型的表單數(shù)據(jù),它主要用于上傳文件。它是寫在 busboy 之上的所以非常高效。 前面我們已經(jīng)知道了怎樣利用express提供的靜態(tài)資源處理中間件 express.static() 處理用戶請(qǐng)求靜態(tài)資源文件(圖片, js, css等) 接下來學(xué)習(xí)如何處理用

    2024年02月06日
    瀏覽(23)
  • 嵌入式學(xué)習(xí)筆記(3)ARM的異常處理方式介紹

    嵌入式學(xué)習(xí)筆記(3)ARM的異常處理方式介紹

    什么是異常 ??正常工作之外的流程都叫異常 ??異常會(huì)打斷正在執(zhí)行的工作,并且一般我們希望異常處理完后繼續(xù)回來執(zhí)行原工作 ??中斷是異常的一種 異常向量表 ??所有的CPU都有異常向量表,這是CPU設(shè)計(jì)時(shí)就設(shè)定好的,是硬件決定的。 ??當(dāng)異常發(fā)生時(shí),CPU會(huì)自動(dòng)動(dòng)作(

    2024年02月11日
    瀏覽(27)
  • Spring Boot學(xué)習(xí)隨筆- 后端實(shí)現(xiàn)全局異常處理(HandlerExceptionResolver),前后端解決跨域問題(@CrossOrigin(局部解決)自定義跨域配置類(全局))

    Spring Boot學(xué)習(xí)隨筆- 后端實(shí)現(xiàn)全局異常處理(HandlerExceptionResolver),前后端解決跨域問題(@CrossOrigin(局部解決)自定義跨域配置類(全局))

    學(xué)習(xí)視頻:【編程不良人】2021年SpringBoot最新最全教程 異常處理作用:用來解決整合系統(tǒng)中任意一個(gè)控制器拋出異常時(shí)的統(tǒng)一處理入口 傳統(tǒng)單體架構(gòu)下的處理方式 配置全局異常處理類 resolveException :當(dāng)控制器方法出現(xiàn)異常時(shí),如果該方法沒有try...catch,則會(huì)進(jìn)入當(dāng)前方法 針

    2024年02月04日
    瀏覽(95)
  • Express中間件

    Express中間件

    客戶端發(fā)起的任何請(qǐng)求,到達(dá)服務(wù)器之后,都會(huì)觸發(fā)的中間件 多個(gè)局部生效的中間件 ? 中間件必須在路由之前注冊(cè) ? 應(yīng)用中間件 路由中間件 錯(cuò)誤級(jí)別中間件 ???????????? 錯(cuò)誤級(jí)別中間件必須在所有路由之后 內(nèi)置中間件 舉例:express.json() 08.中間件-自定義中間件_嗶哩

    2024年02月13日
    瀏覽(17)
  • express框架中間件

    express框架中間件

    說明:Express框架中間件是指在處理HTTP請(qǐng)求前或后對(duì)請(qǐng)求和響應(yīng)進(jìn)行處理的函數(shù)。具體而言,中間件可以: 執(zhí)行一些公共的邏輯,比如身份驗(yàn)證、日志記錄、錯(cuò)誤處理等。 修改請(qǐng)求和響應(yīng),比如緩存、壓縮等。 控制請(qǐng)求流,比如路由控制、URL重定向等。 Express中間件可以是一

    2024年02月13日
    瀏覽(24)
  • springboot全局異常處理和自定義異常處理

    在spring項(xiàng)目中,優(yōu)雅處理異常,好處是可以將系統(tǒng)產(chǎn)生的全部異常統(tǒng)一捕獲處理,自定義的異常也由全局異常來捕獲,如果涉及到validator參數(shù)校驗(yàn)器使用全局異常捕獲也是較為方便。 GlobalExceptionHandler類: 自定義異常CustomException類: 通用返回類:AjaxResult 枚舉類ResultCodeEnum:

    2024年02月04日
    瀏覽(16)
  • Go學(xué)習(xí)第十七章——Gin中間件與路由

    Go學(xué)習(xí)第十七章——Gin中間件與路由

    Gin框架允許開發(fā)者在處理請(qǐng)求的過程中,加入用戶自己的鉤子(Hook)函數(shù)。這個(gè)鉤子函數(shù)就叫中間件,中間件適合處理一些公共的業(yè)務(wù)邏輯,比如登錄認(rèn)證、權(quán)限校驗(yàn)、數(shù)據(jù)分頁、記錄日志、耗時(shí)統(tǒng)計(jì)等 即比如,如果訪問一個(gè)網(wǎng)頁的話,不管訪問什么路徑都需要進(jìn)行登錄,

    2024年02月07日
    瀏覽(20)
  • node中間件-express框架

    node中間件-express框架

    方式一 : express提供的腳手架,直接創(chuàng)建一個(gè)應(yīng)用的骨架 安裝腳手架npm install -g express-generator 創(chuàng)建項(xiàng)目 express express-demo 安裝依賴npm install 啟動(dòng)項(xiàng)目 node bin/www 方式二 : 從零搭建自己的express應(yīng)用結(jié)構(gòu); 初始化項(xiàng)目 npm init 安裝express npm i express 導(dǎo)入–創(chuàng)建–監(jiān)聽 使用參考文檔 中

    2024年02月16日
    瀏覽(34)
  • Spring MVC異常處理【單個(gè)控制異常處理器、全局異常處理器、自定義異常處理器】

    Spring MVC異常處理【單個(gè)控制異常處理器、全局異常處理器、自定義異常處理器】

    目錄 一、單個(gè)控制器異常處理 1.1 控制器方法 1.2 編寫出錯(cuò)頁面 1.3 測(cè)試結(jié)果 二、全局異常處理 2.1 一個(gè)有異常的控制器類 2.2 全局異常處理器類 2.3 測(cè)試結(jié)果? 三、自定義異常處理器 3.1 自定義異常處理器 3.2 測(cè)試結(jié)果 往期專欄文章相關(guān)導(dǎo)讀? 1. Maven系列專欄文章 2. Mybatis系列

    2024年02月16日
    瀏覽(29)
  • MySQL Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column異常處理

    MySQL Expression #2 of SELECT list is not in GROUP BY clause and contains nonaggregated column異常處理

    使用聯(lián)表查詢時(shí),group by兩個(gè)字段出現(xiàn)了錯(cuò)誤 意思是select字段里包含了沒有被group by 條件唯一確定的字段。 MySQL版本5.7之后會(huì)檢測(cè)函數(shù)依賴,默認(rèn)啟用的模式是ONLY_FULL_GROUP_BY,使用GROUP BY 語句違背了sql_mode=only_full_group_by。該模式的意思是只有確定唯一字段的group by才能執(zhí)行。

    2024年01月24日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包