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

后端項(xiàng)目開發(fā):整合全局異常處理

這篇具有很好參考價(jià)值的文章主要介紹了后端項(xiàng)目開發(fā):整合全局異常處理。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

新建exception目錄,用來進(jìn)行自定義的全局異常處理。

(1)新建自定義的GlobalException基 類繼承RuntimeException類,我們自定義的異常類全部需要繼承GlobalException基類進(jìn)行處理。

這里我們直接利用之前定義的錯(cuò)誤碼接口類。

/**
 * 自定義的全局異常
 */
public class GlobalException extends RuntimeException{
    private IErrorCode errorCode;

    public GlobalException(String message) {
        super(message);
    }

    public GlobalException(Throwable cause) {
        super(cause);
    }

    public GlobalException(String message, Throwable cause) {
        super(message, cause);
    }

    public IErrorCode getErrorCode() {
        return errorCode;
    }

}

(2)在exception目錄下,新建GlobalExceptionHandler類,攔截異常類。

在此類中可以捕獲并將異常類轉(zhuǎn)換為可接受的信息返回給前端,防止將異常直接拋出到前端。文章來源地址http://www.zghlxwxcb.cn/news/detail-669970.html

/**
 * 捕獲并處理全局異常
 */
@ResponseBody
@ControllerAdvice
public class GlobalExceptionHandler {
    /**
     * 捕獲并處理所有自定義異常
     */
    @ExceptionHandler(value = GlobalException.class)
    public HttpResult handle(GlobalException e) {
        if (e.getErrorCode() != null) {
            return HttpResult.fail(e.getErrorCode());
        }
        return HttpResult.fail(e.getMessage());
    }

    /**
     * 捕獲并處理方法參數(shù)未驗(yàn)證異常
     */
    @ExceptionHandler(value = MethodArgumentNotValidException.class)
    public HttpResult handleValidException(MethodArgumentNotValidException e) {
        BindingResult bindingResult = e.getBindingResult();
        String message = null;
        if (bindingResult.hasErrors()) {
            FieldError fieldError = bindingResult.getFieldError();
            if (fieldError != null) {
                message = fieldError.getField()+fieldError.getDefaultMessage();
            }
        }
        return HttpResult.validateFailed(message);
    }

    /**
     * 捕獲并處理綁定異常
     */
    @ExceptionHandler(value = BindException.class)
    public HttpResult handleValidException(BindException e) {
        BindingResult bindingResult = e.getBindingResult();
        String message = null;
        if (bindingResult.hasErrors()) {
            FieldError fieldError = bindingResult.getFieldError();
            if (fieldError != null) {
                message = fieldError.getField()+fieldError.getDefaultMessage();
            }
        }
        return HttpResult.validateFailed(message);
    }
}

到了這里,關(guān)于后端項(xiàng)目開發(fā):整合全局異常處理的文章就介紹完了。如果您還想了解更多內(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)文章

  • 后端開發(fā)1.項(xiàng)目的搭建

    創(chuàng)建maven項(xiàng)目 pom文件

    2024年02月14日
    瀏覽(20)
  • 后端項(xiàng)目開發(fā):集成Druid數(shù)據(jù)源

    Druid作為連接池中間件可以監(jiān)控?cái)?shù)據(jù)庫訪問性能,對(duì)數(shù)據(jù)庫密碼加密,查看SQL執(zhí)行日志,擴(kuò)展JDBC。 添加依賴 參考官方文檔:https://github.com/alibaba/druid/wiki 更多配置參考:https://github.com/alibaba/druid/tree/master/druid-spring-boot-starter 啟動(dòng)應(yīng)用:訪問http://localhost:8001/druid/login.html查看監(jiān)

    2024年02月11日
    瀏覽(20)
  • 后端項(xiàng)目開發(fā):工具類封裝(序列化、反射)

    根據(jù)《阿里巴巴開發(fā)規(guī)范》,包名使用單數(shù),類名可以使用復(fù)數(shù)。 所以generic-common創(chuàng)建util包和utils工具類 很多時(shí)候我們需要將接收到的json數(shù)據(jù)轉(zhuǎn)換為對(duì)象,或者將對(duì)象轉(zhuǎn)為json存儲(chǔ)。這時(shí)候我們需要編寫用于json轉(zhuǎn)換的工具類。 新建util目錄,再創(chuàng)建JacksonUtils類

    2024年02月11日
    瀏覽(21)
  • Spring+SpringMVC+MyBatis整合項(xiàng)目開發(fā)(配有項(xiàng)目,已開源)

    Spring+SpringMVC+MyBatis整合項(xiàng)目開發(fā)(配有項(xiàng)目,已開源)

    ?? 個(gè)人主頁:__Aurora__ ?? 如果文章有什么需要改進(jìn)的地方還請(qǐng)各位大佬斧正。 ??如果我的文章對(duì)你有幫助?? 關(guān)注???? 點(diǎn)贊?? 收藏?? ??最近在學(xué)SSM框架,本文是根據(jù)b站【黑馬程序員 ssm框架 2021 版】整理。 ??視頻鏈接:https://www.bilibili.com/video/BV1WZ4y1P7Bp?spm_id_from=3

    2023年04月08日
    瀏覽(36)
  • 后端項(xiàng)目開發(fā):分頁功能的實(shí)現(xiàn)(Mybatis+pagehelper)

    分頁查詢是項(xiàng)目中的常用功能,此處我們基于Mybatis對(duì)分頁查詢進(jìn)行處理。 引入分頁依賴 在http目錄下,新建PageResult類,我們用此類包裝分頁結(jié)果。

    2024年02月11日
    瀏覽(20)
  • 后端項(xiàng)目開發(fā):爬取動(dòng)態(tài)網(wǎng)頁(webmagic和selenium)

    爬取網(wǎng)頁一般是用Python的PhantomJS比較多,當(dāng)然java也可以爬網(wǎng)頁,主要是靠Chrome-Headless(無頭瀏覽器)模擬瀏覽器爬取網(wǎng)頁的,該項(xiàng)目由google公司維護(hù),相比于PhantomJS,擁有更好的性能及效率。 使用java的話,需要加入webmagic和selenium的maven依賴包實(shí)現(xiàn)網(wǎng)頁的獲取。 WebMagic的有四

    2024年02月09日
    瀏覽(19)
  • 后端項(xiàng)目開發(fā):集成接口文檔(swagger-ui)

    swagger集成文檔具有功能豐富、及時(shí)更新、整合簡(jiǎn)單,內(nèi)嵌于應(yīng)用的特點(diǎn)。 由于后臺(tái)管理和前臺(tái)接口均需要接口文檔,所以在工具包構(gòu)建BaseSwaggerConfig基類。 1.引入依賴 2.需要添加Swagger配置類。 將需要配置的字段提取出來,單獨(dú)作為一類 前臺(tái)接口和后臺(tái)管理的包的配置,只需

    2024年02月11日
    瀏覽(21)
  • 遇到跨端開發(fā)或多項(xiàng)目開發(fā)時(shí),遇到的一些問題探討,后端開發(fā)語言如何選擇?

    遇到跨端開發(fā)或多項(xiàng)目開發(fā)時(shí),遇到的一些問題探討,后端開發(fā)語言如何選擇?

    ?最近有同學(xué)問我,做后端開發(fā)項(xiàng)目時(shí)用php,java,c#,go,pathon...哪個(gè)好,從最近阿里云、美團(tuán)服務(wù)器崩潰來看,我想給你最直接的回答是,沒有完美的,只有適合自己的。咱們討論最多的問題就是跨多端開發(fā),以及多項(xiàng)目開發(fā)后期所帶來的升級(jí)、維護(hù)等相關(guān)問題,接下來就

    2024年02月04日
    瀏覽(22)
  • Linux的開發(fā)環(huán)境安裝配置與后端項(xiàng)目部署

    Linux的開發(fā)環(huán)境安裝配置與后端項(xiàng)目部署

    目錄 一.安裝開發(fā)環(huán)境 1.準(zhǔn)備階段 1.1 創(chuàng)建新目錄 1.2 解壓文件 2.JDK的安裝與配置環(huán)境變量 2.1 解壓jdk壓縮包 2.2 配置環(huán)境變量 2.3 設(shè)置環(huán)境變量生效 ?2.4 驗(yàn)證是否安裝成功 3.Tomcat的安裝與使用 3.1 解壓安裝 3.2?開啟服務(wù) 3.3 開放端口? ?3.4 訪問成功 4.MySQL的安裝 4.1 檢查卸載原有

    2024年02月06日
    瀏覽(24)
  • 【Dolphinscheduler3.1.1】二次開發(fā)本地啟動(dòng)項(xiàng)目(前端+后端)

    【Dolphinscheduler3.1.1】二次開發(fā)本地啟動(dòng)項(xiàng)目(前端+后端)

    由于業(yè)務(wù)的定制化開發(fā),需要對(duì)Dolphinscheduler進(jìn)行二次開發(fā),現(xiàn)將項(xiàng)目的啟動(dòng)步驟記錄如下。 Maven: v3.5+,配阿里云倉庫地址即可 Node: v16.+ MySQL (5.7系列) : 兩者任選其一即可 JDK (1.8+) : 必裝 ZooKeeper (3.7.1) :必裝 ZooKeeper安裝步驟如下 官網(wǎng)下載壓縮包并解壓到D:Program Files (x86)zoo

    2024年01月21日
    瀏覽(48)

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

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

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

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

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包