Feign 是一种声明式服务调用组件,它在 RestTemplate 的基础上做了进一步的封装。通过 Feign,我们只需要声明一个接口并通过注解进行简单的配置(类似于 Dao 接口上面的 Mapper 注解一样)即可实现对 HTTP 接口的绑定。
激活Feign需要在主启动上添加注解 @EnableFeignClients
使用OpenFeign
需要创建一个接口,并标注注解@FeignClient("xxx")写上需要调用的服务名
然后在业务类中直接调用接口中的方法,就会根据方法的的mapping地址找到对应的方法
OpenFeign超时控制
默认超时时间为1秒
通过配置设置
两种都可以
feign:
client:
config:
default: #这里就是指的所有被加载的默认FeignClient实现的服务配置都生效
connectTimeout: 5000
readTimeout: 5000
ribbon:
ReadTimeout: 5000
ConnectTimeout: 5000
OpenFeign日志
日志级别:
- NONE:默认的,不显示任何日志
- BASIC:仅记录请求方法、URL、响应状态码及执行时间
- HEADERS:除了 BASIC 中定义的信息之外,还有请求和响应的头信息
- FULL:除了 HEADERS 中定义的信息之外,还有请求和响应的正文及元数据
日志配置:
注入Bean
@Bean
public Logger.Level level(){
return Logger.Level.FULL;
}
yml配置:
logging:
level:
#对应接口的日志级别
com.study.springcloud.service.PaymentFeignService: debug