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

SpringBoot捕獲feign拋出異常的方法

 更新時(shí)間:2025年04月20日 09:31:01   作者:考慮考慮  
使用Springboot時(shí),使用feign客戶端作為http請(qǐng)求工具時(shí),當(dāng)接口拋出異常信息時(shí),使用全局異常是捕獲不了異常的,本文小編給大家介紹了SpringBoot捕獲feign拋出異常的方法,需要的朋友可以參考下

前言

使用Springboot時(shí),使用feign客戶端作為http請(qǐng)求工具時(shí),當(dāng)接口拋出異常信息時(shí),使用全局異常是捕獲不了異常的

feign異常全局捕獲

定義一個(gè)異常類

@Getter
public class BusinessException extends RuntimeException {

    private String message;

    private int code;

    public BusinessException(String message, int code) {
        this.message = message;
        this.code = code;
    }

    public BusinessException(String message) {
        super(message);
        this.message = message;
    }



}

捕獲feign請(qǐng)求異常

@Slf4j
@Configuration
public class FeignExceptionConfig {

    @Bean
    public ErrorDecoder feignError() {
        return (key, response) -> {
            if (response.status() != HttpStatus.OK.value()) {
                try {
                    String data = IOUtils.toString(response.body().asInputStream());
                    log.error("feign請(qǐng)求錯(cuò)誤,返回值為:{{}}", data);
                    throw new BusinessException(data);
                } catch (BusinessException e) {
                    throw e;
                } catch (Exception e) {
                    log.error("異常信息為:", e);
                    throw new RuntimeException(e);
                }
            }

            // 其他異常交給Default去解碼處理
            // 這里使用單例即可,Default不用每次都去new
            return new ErrorDecoder.Default().decode(key, response);
        };
    }

}

或者在全局異常捕獲加上這個(gè)

@ExceptionHandler(FeignException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
public String handleFeignException(FeignException ex) {
    log.error("feign異常處理信息", ex);
    return ex.contentUTF8();
}

總結(jié)

feign客戶端是一個(gè)強(qiáng)大的請(qǐng)求工具,但是異常處理有時(shí)候得額外處理

到此這篇關(guān)于SpringBoot捕獲feign拋出異常的方法的文章就介紹到這了,更多相關(guān)SpringBoot捕獲feign異常內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Maven?pom.xml文件獲取當(dāng)前時(shí)間戳方式

    Maven?pom.xml文件獲取當(dāng)前時(shí)間戳方式

    這篇文章主要介紹了Maven?pom.xml文件獲取當(dāng)前時(shí)間戳方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • Java多線程之線程安全問(wèn)題詳解

    Java多線程之線程安全問(wèn)題詳解

    這篇文章主要為大家詳細(xì)介紹了Java多線程之線程安全問(wèn)題,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-03-03
  • java刪除文件夾的實(shí)現(xiàn)方式

    java刪除文件夾的實(shí)現(xiàn)方式

    用戶發(fā)現(xiàn)File.delete()無(wú)法刪除非空目錄,嘗試自定義遞歸刪除方法后,發(fā)現(xiàn)commons-io已提供FileUtils.deleteDirectory,建議優(yōu)先使用第三方庫(kù)避免重復(fù)造輪子,提升效率與代碼可靠性
    2025-07-07
  • SpringBoot+Vue解決跨域問(wèn)題幾種處理方案介紹

    SpringBoot+Vue解決跨域問(wèn)題幾種處理方案介紹

    同源策略是一種約定,它是瀏覽器最核心也最基本的安全功能,同源策略會(huì)阻止一個(gè)域的javascript腳本和另外一個(gè)域的內(nèi)容進(jìn)行交互,所以本文我家里聊聊SpringBoot結(jié)合Vue解決跨域問(wèn)題幾種處理方案吧
    2025-07-07
  • Spring Cloud實(shí)現(xiàn)提供API給客戶端的方法詳解

    Spring Cloud實(shí)現(xiàn)提供API給客戶端的方法詳解

    這篇文章主要給大家介紹了關(guān)于Spring Cloud實(shí)現(xiàn)提供API給客戶端的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-01-01
  • java實(shí)現(xiàn)token無(wú)感刷新+處理并發(fā)的后端方案

    java實(shí)現(xiàn)token無(wú)感刷新+處理并發(fā)的后端方案

    在Web應(yīng)用中,Token用于身份驗(yàn)證和會(huì)話管理,但當(dāng)Token過(guò)期時(shí),可能會(huì)導(dǎo)致用戶在提交表單或進(jìn)行操作時(shí)突然被重定向到登錄頁(yè)面,本文就來(lái)介紹一下java實(shí)現(xiàn)token無(wú)感刷新+處理并發(fā)的后端方案,感興趣的可以了解一下
    2024-11-11
  • 詳解MyBatis日志如何做到兼容所有常用的日志框架

    詳解MyBatis日志如何做到兼容所有常用的日志框架

    這篇文章主要介紹了詳解MyBatis日志如何做到兼容所有常用的日志框架,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • SpringBoot中的@Inherited注解詳解

    SpringBoot中的@Inherited注解詳解

    這篇文章主要介紹了SpringBoot中的@Inherited注解詳解,@Inherited是一個(gè)標(biāo)識(shí),用來(lái)修飾注解,如果一個(gè)類用上了@Inherited修飾的注解,那么其子類也會(huì)繼承這個(gè)注解,需要的朋友可以參考下
    2023-08-08
  • springcloud如何配置文件加載順序

    springcloud如何配置文件加載順序

    這篇文章主要介紹了springcloud如何配置文件加載順序問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • 淺析Jmeter多用戶token使用問(wèn)題

    淺析Jmeter多用戶token使用問(wèn)題

    這篇文章主要介紹了Jmeter多用戶token使用問(wèn)題,通過(guò)具體的例子給大家介紹了Jmeter多用戶token使用場(chǎng)景接口分析,需要的朋友可以參考下
    2021-10-10

最新評(píng)論

进贤县| 志丹县| 华容县| 南雄市| 江陵县| 大厂| 丽江市| 蓬安县| 含山县| 西乌珠穆沁旗| 永春县| 广宗县| 岳池县| 土默特左旗| 澜沧| 辽中县| 平昌县| 子长县| 喀喇| 奉化市| 夏邑县| 出国| 额尔古纳市| 察雅县| 通山县| 利川市| 如东县| 天镇县| 张家口市| 房产| 田阳县| 平谷区| 雅江县| 兴仁县| 高要市| 焦作市| 威宁| 文山县| 岳西县| 丘北县| 怀仁县|