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

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

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

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

超時(shí)三部曲:

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

1.配置

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

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

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

提示:

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

2.接口定義

提示:

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

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

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

3.異常處理

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

@ControllerAdvice //所有的Controller都會(huì)進(jìn)入到這個(gè)類?
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","接口超時(shí)");
        return ResponseEntity.status(HttpStatus.BAD_REQUEST).body(jsonObject);
    }
    //往下還可以寫很多的異常統(tǒng)一處理方法.上面只是寫了超時(shí)異常的處理,其它無關(guān)主題的省略了.
}

測(cè)試結(jié)果

返回友好的超時(shí)報(bào)錯(cuò).

總結(jié)

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

相關(guān)文章

最新評(píng)論

五寨县| 泽普县| 元阳县| 霸州市| 天祝| 突泉县| 农安县| 吕梁市| 博乐市| 鞍山市| 铅山县| 常山县| 南投县| 大荔县| 郸城县| 湘潭市| 天台县| 治县。| 屯留县| 白玉县| 乐清市| 都江堰市| 侯马市| 荥阳市| 普宁市| 黄骅市| 苏尼特左旗| 松滋市| 永宁县| 吉安县| 清水县| 长治县| 韩城市| 游戏| 无锡市| 德安县| 洛宁县| 松潘县| 南安市| 漠河县| 营口市|