feign 针对某一个特定接口设置超时时间

一、对feign所有接口设置超时配置

如果是当前feign所有接口的超时配置,需要在 @FeignClient 的 configuration 属性中设置。

详情见: https://blog.csdn.net/sinat_32502451/article/details/136884349

二、针对某一个特定接口设置超时时间

调用 feign:

服务消费者需要传多一个 options参数,就可以设置特定接口的超时时间。
@RequestParam("options") Request.Options options

/**
  *  如果是当前feign所有接口的超时配置,需要在 @FeignClient 的 configuration 属性中设置。
  *   详情见: https://blog.csdn.net/sinat_32502451/article/details/136884349
  */
@FeignClient(name = "my-service")
@RequestMapping("/my-service")
public interface MyServiceApi {

    /**
      *  服务消费者需要传多一个 options参数,就可以设置特定接口的超时时间。 
      *  @RequestParam("options") Request.Options options 
      *  服务生产者不需要做处理。
      */
    @PostMapping( "/update")
    Response<UpdateVo> update(@RequestBody UpdateDto updateDto, @RequestParam("options") Request.Options options);

}

服务消费者:

服务消费者需要传多一个 options参数,就是 new Request.Options(connectTimeout, readTimeout)

    @Value("${my.feign.connectTimeout:6000}")
    private int connectTimeout;

    @Value("${my.feign.readTimeOut:6000}")
    private int readTimeout;
    
    
    //服务消费者需要传多一个 options参数,就是 new Request.Options(connectTimeout, readTimeout)
    Response<UpdateVo> updateVo = myServiceApi.update(updateDto, new Request.Options(connectTimeout, readTimeout));

服务生产者:

跟其他的生产者接口一样格式。

    @PostMapping("/update")
    @ResponseBody
    public Response<UpdateVo> update(@RequestBody UpdateDto updateDto) {
      ...
    }

posted on   乐之者v  阅读(172)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
历史上的今天:
2022-01-04 ElastaticSearch -- es深度分页 searchAfter
2018-01-04 SpringBoot简单理解
< 2025年2月 >
26 27 28 29 30 31 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 1
2 3 4 5 6 7 8

导航

统计

点击右上角即可分享
微信分享提示