亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

SpringBoot中@RestControllerAdvice注解的使用

 更新時(shí)間:2024年01月19日 09:05:03   作者:景慶197  
這篇文章主要介紹了SpringBoot中@RestControllerAdvice注解的使用,@RestControllerAdvice主要用精簡(jiǎn)客戶端返回異常,它可以捕獲各種異常,需要的朋友可以參考下

1.主要作用

@RestControllerAdvice主要用精簡(jiǎn)客戶端返回異常,它可以捕獲各種異常

2.判斷異常的類型

  • 后端數(shù)據(jù)校驗(yàn)異常
  • 未授權(quán)異常
  • 自定義異常
  • 普通異常

3.實(shí)現(xiàn)

未優(yōu)化前

import com.qing.emos.wx.exception.EmosException;
import lombok.extern.slf4j.Slf4j;
import org.apache.shiro.authz.UnauthorizedException;
import org.springframework.http.HttpStatus;
import org.springframework.web.bind.MethodArgumentNotValidException;
import org.springframework.web.bind.annotation.*;
@Slf4j
//@RestControllerAdvice可以捕獲SpringMVC異常
@RestControllerAdvice
public class ExceptionAdvice {
    @ResponseBody
    @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR)
//    ExceptionHandler用于全局捕獲異常
    @ExceptionHandler(Exception.class)
    public String validExcepionHandler(Exception e){
        log.error("執(zhí)行異常",e);
//        后端驗(yàn)證失敗的異常,參數(shù)沒(méi)傳,或者傳的不對(duì)
        if(e instanceof MethodArgumentNotValidException){
            MethodArgumentNotValidException exception = (MethodArgumentNotValidException) e;
            return exception.getBindingResult().getFieldError().getDefaultMessage();
        }
//        精簡(jiǎn)異常的內(nèi)容,EmosException為自己定義異常
        else if(e instanceof EmosException){
            EmosException exception = (EmosException) e;
            return  exception.getMsg();
        }
//        未授權(quán)異常
        else if(e instanceof UnauthorizedException){
            return "你不具備相關(guān)權(quán)限";
        }
//       普通異常
        else {
            return "后端執(zhí)行異常";
        }
    }
}

優(yōu)化后

到此這篇關(guān)于SpringBoot中@RestControllerAdvice注解的使用的文章就介紹到這了,更多相關(guān)SpringBoot的@RestControllerAdvice內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringBoot后端解決跨域問(wèn)題的3種方案分享

    SpringBoot后端解決跨域問(wèn)題的3種方案分享

    這篇文章主要給大家分享介紹了關(guān)于SpringBoot后端解決跨域問(wèn)題的3種方案,跨域指的是瀏覽器不能執(zhí)行其他網(wǎng)站的腳本,它是由瀏覽器的同源策略造成的,是瀏覽器施加的安全限制,需要的朋友可以參考下
    2023-07-07
  • Mybatis通過(guò)Spring完成代理類注入的流程分析

    Mybatis通過(guò)Spring完成代理類注入的流程分析

    這篇文章主要介紹了Mybatis通過(guò)Spring完成代理類注入的流程分析,本文通過(guò)實(shí)例圖文相結(jié)合給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Java 8 Stream Api 中的 map和 flatMap 操作方法

    Java 8 Stream Api 中的 map和 flatMap 操作方法

    Java 8提供了非常好用的 Stream API ,可以很方便的操作集合。今天通過(guò)這篇文章給大家分享Java 8 Stream Api 中的 map和 flatMap 操作方法,需要的朋友可以參考下
    2019-11-11
  • Spring報(bào)錯(cuò):Error creating bean with name的問(wèn)題及解決

    Spring報(bào)錯(cuò):Error creating bean with name的問(wèn)

    這篇文章主要介紹了Spring報(bào)錯(cuò):Error creating bean with name的問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • SpringBoot 如何編寫配置文件

    SpringBoot 如何編寫配置文件

    這篇文章主要介紹了SpringBoot 編寫配置文件的兩種方法,幫助大家更好的理解和使用springboot框架,感興趣的朋友可以了解下
    2020-11-11
  • 解決mybatis映射結(jié)果集失效的問(wèn)題

    解決mybatis映射結(jié)果集失效的問(wèn)題

    這篇文章主要介紹了解決mybatis映射結(jié)果集失效的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-11-11
  • springboot開啟mybatis駝峰命名自動(dòng)映射的三種方式

    springboot開啟mybatis駝峰命名自動(dòng)映射的三種方式

    這篇文章給大家總結(jié)springboot開啟mybatis駝峰命名自動(dòng)映射的三種方式,文章并通過(guò)代碼示例給大家介紹的非常詳細(xì),具有一定的參考價(jià)值,需要的朋友可以參考下
    2024-02-02
  • springboot 如何解決cross跨域請(qǐng)求的問(wèn)題

    springboot 如何解決cross跨域請(qǐng)求的問(wèn)題

    這篇文章主要介紹了springboot 如何解決cross跨域請(qǐng)求的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • AsyncHttpClient?RequestFilter請(qǐng)求篩選源碼解讀

    AsyncHttpClient?RequestFilter請(qǐng)求篩選源碼解讀

    這篇文章主要為大家介紹了AsyncHttpClient?RequestFilter請(qǐng)求篩選源碼解讀,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-12-12
  • Java對(duì)象類型的判斷詳解

    Java對(duì)象類型的判斷詳解

    這篇文章主要介紹了Java對(duì)象類型的判斷,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04

最新評(píng)論