中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

使用@ControllerAdvice怎么同時配置過濾多個包

發布時間:2021-06-15 17:28:04 來源:億速云 閱讀:730 作者:Leah 欄目:開發技術

使用@ControllerAdvice怎么同時配置過濾多個包,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。

@ControllerAdvice同時配置過濾多個包

//@ControllerAdvice("com.automvc")   //配置過濾一個的時候
@ControllerAdvice(basePackages={"com.automvc", "com.test"})    //同時配置過濾多個包

springboot 多個@RestControllerAdvice時的攔截順序

我們的項目中經常會使用到別人的模塊,例如我的項目demo,要依賴別人的A模塊,以及基礎的核心core模塊,此時core模塊有一個使用了@RestControllerAdvice的類,負責攔截所有的controller異常。

但是呢,他的異常處理不符合我們demo項目的要求,這就導致我們demo項目要重寫自己的controller異常攔截。

此時我們可以用的解決異常的方法有三種:

1、使用aop進行切面攔截異常

2、controller每個方法都用try-catch捕獲異常

3、增加一個@RestControllerAdvice標注的類,負責處理我們項目的controller異常。

我選用第三種方法,但是當我寫了個PartControllerAdvice類,指定basePackages為我自己的項目包,依舊還是被core模塊的全局異常處理類攔截了。

查資料和找博客發現如果有多個加了@RestControllerAdvice的類,他們會依次加載,遇到異常時,按照類加載順序進行判斷,如果前面的類有能處理這個異常的方法,就給前面的類處理。

我的項目中有兩個標注了@RestControllerAdvice的類,core模塊的類被先加載,且core模塊的異常處理類有個方法專門處理Exception類型的異常,所以我的局部異常處理類始終不執行。

解決方法:

@Order(Ordered.HIGHEST_PRECEDENCE) 使用@Order注解,提高自己的局部異常處理類的加載順序就行了

代碼:

使用@ControllerAdvice怎么同時配置過濾多個包

使用@ControllerAdvice怎么同時配置過濾多個包

使用@ControllerAdvice怎么同時配置過濾多個包

模擬效果:

使用@ControllerAdvice怎么同時配置過濾多個包

看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

故城县| 会同县| 仙游县| 进贤县| 灵川县| 周宁县| 顺平县| 互助| 乌拉特中旗| 察雅县| 前郭尔| 信宜市| 象山县| 盈江县| 石城县| 丹凤县| 伊春市| 广河县| 东台市| 嵩明县| 吴忠市| 唐海县| 阿鲁科尔沁旗| 达孜县| 赤峰市| 阳城县| 寿宁县| 宁德市| 南靖县| 江都市| 大名县| 哈尔滨市| 柘荣县| 万安县| 林口县| 宁河县| 长顺县| 上高县| 旅游| 武胜县| 华安县|