Spring Cloud OpenFeign 4组件

官方地址:https://docs.spring.io/spring-cloud-openfeign/reference/spring-cloud-openfeign.html

核心初始化类:FeignClientFactoryBean、FeignAutoConfiguration、FeignClientsConfiguration、HttpClient5FeignConfiguration

  • 开关配置
# 组件开关,默认:true
spring.emily.transfer.feign.enabled=true
  • 支持全局设置超时时间及单个FeignClient设置超时时间
# 默认配置
spring.cloud.openfeign.client.default-config=default
# 连接超时时间,默认:60000毫秒
spring.cloud.openfeign.client.config.default.connect-timeout=60000
# 读取超时时间,默认:10000毫秒
spring.cloud.openfeign.client.config.default.read-timeout=10000
# 日志级别,默认:none
spring.cloud.openfeign.client.config.default.logger-level=full

# 连接超时时间,默认:60000毫秒
spring.cloud.openfeign.client.config.test.connect-timeout=5000
# 读取超时时间,默认:10000毫秒
spring.cloud.openfeign.client.config.test.read-timeout=1000
# 日志级别,默认:none
spring.cloud.openfeign.client.config.test.logger-level=full
  • 默认全局超时FeignClient使用示例:
@FeignClient(value = "connect", url = "http://127.0.0.1:9000/api/feign")
public interface DefaultFeignHandler {
   
   
    /**
     * 默认超时请求
     */
    @GetMapping("connect")
    BaseResponse<String> getConnect(@RequestParam("timeout") int timeout);
}
  • 自定义超时时间使用示例:
@FeignClient(value = "custom", url = "http://127.0.0.1:9000/api/feign", contextId = "custom")
public interface CustomFeignHandler {
   
   
    /**
     * 自定义超时请求
     */
    @GetMapping("custom")
    BaseResponse<String> getCustom(@RequestParam("timeout")  int timeout);
}
  • 调用三方接口默认采用HttpURLConnection
调用链路(倒序):
feign.Client的默认实现类feign.Client.Default
org.springframework.cloud.openfeign.FeignCachingInvocationHandlerFactory#create
  • Spring Cloud OpenFeign 4不在支持Apache HttpClient 4

https://docs.spring.io/spring-cloud-openfeign/reference/spring-cloud-openfeign.html

Starting with Spring Cloud OpenFeign 4, the Feign Apache HttpClient 4 is no longer supported. We suggest using Apache HttpClient 5 instead.

  • Appache HttpClient 5使用

添加依赖:

        <dependency>
            <groupId>io.github.openfeign</groupId>
            <artifactId>feign-hc5</artifactId>
        
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值