最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java異常處理攔截器詳情

 更新時(shí)間:2021年10月22日 10:41:06   作者:左直拳  
這篇文章主要介紹了java異常處理攔截器,使用異常處理攔截器,可以不用寫那么多try…catch…,下面就來學(xué)習(xí)關(guān)于java異常處理攔截器的詳情內(nèi)容吧,需要的朋友可以參考一下

使用異常處理攔截器,可以不用寫那么多try…catch…。

我有個功能,就是前端提交短信內(nèi)容到后端,后端進(jìn)行一系列的處理,其中是要將短信內(nèi)容提交到公共短信接口。微服務(wù)框架,公共短信接口是另外一個服務(wù)。這樣子就會有一個隱患,假如這個服務(wù)不開,或者因?yàn)榫W(wǎng)絡(luò)原因無法訪問,怎么辦?

可以原子操作,也可以重新提交啥的,不管怎么搞,錯誤提示是避免不了的。問題是,系統(tǒng)赤裸裸的貼代碼的錯誤提示方式,極不友好。應(yīng)當(dāng)捕獲這個錯誤,然后改用較為友好的內(nèi)容進(jìn)行提示。

最原始的辦法,可以層層try…catch…,service一直到controller這里返回給前端。但未免太繁瑣,感覺很low。作為程序員,不應(yīng)當(dāng)這么機(jī)械。

參照網(wǎng)上辦法,在controller這里設(shè)置一個異常處理攔截器:

@RestController
@RequestMapping("sms/order")
public class DzSmsSendOrderController {
 
 。。。
 
    @ExceptionHandler(value = {
 RuntimeException.class})
    public ResultBody handleRuntimeException(Exception ex) throws Exception {
 
        if (ex.getMessage().indexOf("project-sms-api") != -1) {
 //鑒別一下是否為目標(biāo)異常
            return ResultBody.failed().msg("訪問短信接口失敗,請確認(rèn)相關(guān)服務(wù)是否已開啟");
        } else throw ex;
    }
}

這個ResultBody是一個自定義的對象,前端根據(jù)其返回的編號等判斷是否成功。

@ApiModel(value = "響應(yīng)結(jié)果")
public class ResultBody<T> implements Serializable {
 
 。。。
 
    public static ResultBody failed() {
 
        return new ResultBody().code(ErrorCode.FAIL.getCode()).msg(ErrorCode.FAIL.getMessage());
    }
    
    @Override
    public String toString() {
 
        return "ResultBody{" +
                "code=" + code +
                ", message='" + message + '\'' +
                ", path='" + path + '\'' +
                ", data=" + data +
                ", httpStatus=" + httpStatus +
                ", extra=" + extra +
                ", timestamp=" + timestamp +
                '}';
    }
}

public enum ErrorCode {
 
    OK(0, "success"),
    FAIL(1000, "fail"),
    ALERT(1001, "alert"),
}

前端就根據(jù)這個code,來判斷成功與否。

到此這篇關(guān)于java異常處理攔截器詳情的文章就介紹到這了,更多相關(guān)java異常處理攔截器內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一篇文章帶你入門Springboot整合微信登錄與微信支付(附源碼)

    一篇文章帶你入門Springboot整合微信登錄與微信支付(附源碼)

    微信支付是騰訊公司的支付業(yè)務(wù)品牌,微信支付商戶平臺支持線下場所、公眾號、小程序、PC網(wǎng)站、APP、企業(yè)微信等經(jīng)營場景快速接入微信支付。這里一篇文章帶你入門!
    2021-06-06
  • Spring JPA聯(lián)表查詢之OneToOne源碼詳解

    Spring JPA聯(lián)表查詢之OneToOne源碼詳解

    這篇文章主要為大家介紹了Spring JPA聯(lián)表查詢之OneToOne源碼詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-04-04
  • Springcloud ribbon負(fù)載均衡算法實(shí)現(xiàn)

    Springcloud ribbon負(fù)載均衡算法實(shí)現(xiàn)

    這篇文章主要介紹了Springcloud ribbon負(fù)載均衡算法實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • JavaWeb中導(dǎo)出excel文件的簡單方法

    JavaWeb中導(dǎo)出excel文件的簡單方法

    下面小編就為大家?guī)硪黄狫avaWeb中導(dǎo)出excel文件的簡單方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • Java棧的運(yùn)用之中綴表達(dá)式求值詳解

    Java棧的運(yùn)用之中綴表達(dá)式求值詳解

    本文來介紹一題中綴表達(dá)式求值的問題,就是給定一個中綴計(jì)算式,編寫程序?qū)⑦@個式子運(yùn)算結(jié)果給計(jì)算出來,其實(shí)和后綴表達(dá)式的思路差不多,都是棧的運(yùn)用問題,感興趣的可以了解一下
    2022-11-11
  • Java把多個對象的list的數(shù)據(jù)合并的方法示例

    Java把多個對象的list的數(shù)據(jù)合并的方法示例

    在Java中合并多個List可以使用遍歷、Stream API或Apache Commons Collections,通過遍歷各個List并將元素添加到新List實(shí)現(xiàn)合并,Java 8提供了Stream API,使用Stream.of()和flatMap()可以簡潔地合并List,文中給出了多種方法示例,需要的朋友可以參考下
    2024-09-09
  • springboot?@PostConstruct無效的解決

    springboot?@PostConstruct無效的解決

    這篇文章主要介紹了springboot?@PostConstruct無效的解決,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • 詳解Java線程池是如何重復(fù)利用空閑線程的

    詳解Java線程池是如何重復(fù)利用空閑線程的

    在Java開發(fā)中,經(jīng)常需要創(chuàng)建線程去執(zhí)行一些任務(wù),實(shí)現(xiàn)起來也非常方便,此時(shí),我們很自然會想到使用線程池來解決這個問題,文中給大家提到使用線程池的好處,對Java線程池空閑線程知識感興趣的朋友一起看看吧
    2021-06-06
  • @OneToMany查詢陷入循環(huán)引用的解決方案

    @OneToMany查詢陷入循環(huán)引用的解決方案

    這篇文章主要介紹了@OneToMany查詢陷入循環(huán)引用的解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • Java中包裝類介紹與其注意事項(xiàng)

    Java中包裝類介紹與其注意事項(xiàng)

    Java語言是一個面向?qū)ο蟮恼Z言,但是Java中的基本數(shù)據(jù)類型卻是不面向?qū)ο蟮?,這在實(shí)際使用時(shí)存在很多的不便,所以在設(shè)計(jì)類時(shí)為每個基本數(shù)據(jù)類型設(shè)計(jì)了一個對應(yīng)的類進(jìn)行代表,這樣八個和基本數(shù)據(jù)類型對應(yīng)的類統(tǒng)稱為包裝類,有些地方也翻譯為外覆類或數(shù)據(jù)類型類。
    2017-02-02

最新評論

铁岭县| 赣榆县| 迁安市| 潍坊市| 乃东县| 腾冲县| 泗水县| 莱阳市| 漳州市| 虞城县| 泗阳县| 万全县| 略阳县| 旺苍县| 象山县| 高台县| 平乐县| 东宁县| 达日县| 广安市| 昌乐县| 太原市| 隆昌县| 德兴市| 伊吾县| 永善县| 五台县| 桂平市| 铁力市| 汉川市| 牙克石市| 陇川县| 东阳市| 九龙坡区| 沛县| 巫溪县| 达尔| 莒南县| 三亚市| 五家渠市| 荆州市|