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

springboot接口超時配置過程及異常處理方式

 更新時間:2026年05月24日 10:30:33   作者:臺風(fēng)-.-  
SpringBoot控制接口超時設(shè)置三步曲:配置、接口定義與異常處理,掌握超時時間配置、異步處理及統(tǒng)一異常處理策略,確保接口高效穩(wěn)定運行

SpringBoot控制接口超時設(shè)置

超時三部曲:

  • 1.配置
  • 2.接口定義
  • 3. 異常處理

1.配置

提示:springboot項目設(shè)置接口超時時間(基本配置)

spring:
  mvc:
    async:
      request-timeout: 2000 //單位是毫秒哦 2000代表2秒

配置不好用? 繼續(xù)往下看啊

提示:

如果想讓配置生效,需要符合此配置對應(yīng)的接口規(guī)范。

2.接口定義

提示:

首先是異步的,需要單獨開一個線程去執(zhí)行.

第二需要的返回值的是Callable<泛型>,泛型中是你真正要返回的數(shù)據(jù)類型。

/**
 * 設(shè)置超時用的測試接口.通常如下寫法
 *
 * @return 返回值一定是Callable<T>的.
 */
@GetMapping("/test")
public Callable<ResultVO> timeOutMethod() {
    //new Callable<> 單獨開啟一個線程去執(zhí)行
    return new Callable<ResultVO>() {
        @Override
        public ResultVO call() throws Exception {
            //這里將會觸發(fā)超時
            Thread.sleep(10000); 
            //正常返回邏輯
            return ResultVO.response(ReturnEnum.PAY_TOP_UP_ORDER, String.valueOf(new IdWorker().nextId()));
        }
    };
}

3.異常處理

提示:捕獲AsyncRequestTimeoutException異常,進行統(tǒng)一的處理。

@ControllerAdvice //所有的Controller都會進入到這個類?
public class BaseExceptionAdvice {

    @ExceptionHandler(AsyncRequestTimeoutException.class)
    public ResponseEntity<JSONObject> handException(AsyncRequestTimeoutException e) {
        JSONObject jsonObject = new JSONObject();
        jsonObject.put("timestamp", DateTime.now().toString("yyyy-MM-dd HH:mm:ss"));
        jsonObject.put("status", 500);
        jsonObject.put("message","接口超時");
        return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(jsonObject);
    }
    //往下還可以寫很多的異常統(tǒng)一處理方法.上面只是寫了超時異常的處理,其它無關(guān)主題的省略了.
}

測試結(jié)果

返回友好的超時報錯.

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java編程中使用JDBC API連接數(shù)據(jù)庫和創(chuàng)建程序的方法

    Java編程中使用JDBC API連接數(shù)據(jù)庫和創(chuàng)建程序的方法

    這篇文章主要介紹了Java編程中使用JDBC API連接數(shù)據(jù)庫和創(chuàng)建程序的基本教程,JDBC是一種用于執(zhí)行SQL語句的Java API,可以為多種關(guān)系數(shù)據(jù)庫提供統(tǒng)一訪問需要的朋友可以參考下
    2015-12-12
  • springboot 獲取訪問接口的請求的IP地址的實現(xiàn)

    springboot 獲取訪問接口的請求的IP地址的實現(xiàn)

    本文主要介紹了springboot獲取訪問接口的請求的IP地址的實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-07-07
  • 細(xì)數(shù)java for循環(huán)中的那些坑

    細(xì)數(shù)java for循環(huán)中的那些坑

    這篇文章主要介紹了Java for循環(huán)方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • Spring Cloud Gateway使用Token驗證詳解

    Spring Cloud Gateway使用Token驗證詳解

    這篇文章主要介紹了Spring Cloud Gateway使用Token驗證詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-02-02
  • Java中ScheduledExecutorService介紹和使用案例(推薦)

    Java中ScheduledExecutorService介紹和使用案例(推薦)

    ScheduledExecutorService是Java并發(fā)包中的接口,用于安排任務(wù)在給定延遲后運行或定期執(zhí)行,它繼承自ExecutorService,具有線程池特性,可復(fù)用線程,提高效率,本文主要介紹java中的ScheduledExecutorService介紹和使用案例,感興趣的朋友一起看看吧
    2024-10-10
  • Java枚舉與.net枚舉區(qū)別詳解

    Java枚舉與.net枚舉區(qū)別詳解

    這篇文章主要介紹了Java枚舉與.net枚舉區(qū)別詳解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-02-02
  • 淺談Java變量的初始化順序詳解

    淺談Java變量的初始化順序詳解

    本篇文章是對Java變量的初始化順序進行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • IDEA創(chuàng)建Maven項目一直顯示正在加載的問題及解決

    IDEA創(chuàng)建Maven項目一直顯示正在加載的問題及解決

    這篇文章主要介紹了IDEA創(chuàng)建Maven項目一直顯示正在加載的問題及解決方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-12-12
  • java8 LocalDate 使用詳解

    java8 LocalDate 使用詳解

    這篇文章主要介紹了java8 LocalDate 使用詳解,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-08-08
  • Struts1和struts2的區(qū)別_動力節(jié)點Java學(xué)院整理

    Struts1和struts2的區(qū)別_動力節(jié)點Java學(xué)院整理

    這篇文章主要為大家詳細(xì)介紹了Struts1和struts2的區(qū)別,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-09-09

最新評論

霍州市| 开鲁县| 湖南省| 贵定县| 祁东县| 湟源县| 柳江县| 河北省| 界首市| 凤山市| 集安市| 宣武区| 西乌珠穆沁旗| 楚雄市| 乡宁县| 陆河县| 花莲市| 寿光市| 文昌市| 温宿县| 图片| 阿拉善左旗| 新和县| 彰化县| 金塔县| 辽宁省| 沙湾县| 长寿区| 洛隆县| 东城区| 改则县| 黑水县| 古田县| 东阳市| 丽江市| 勐海县| 涡阳县| 扎赉特旗| 桦南县| 兴文县| 如东县|