介绍
:::tips Feign可以支持很多的自定义配置,如下表所示: ::: | 类型 | 作用 | 说明 | | —- | —- | —- | | feign.Logger.Level | 修改日志级别 | 包含四种不同的级别:NONE、BASIC、HEADERS、FULL | | feign.codec.Decoder | 响应结果的解析器 | http远程调用的结果做解析,例如解析json字符串为java对象 | | feign.codec.Encoder | 请求参数编码 | 将请求参数编码,便于通过http请求发送 | | feign. Contract | 支持的注解格式 | 默认是SpringMVC的注解 | | feign. Retryer | 失败重试机制 | 请求失败的重试机制,默认是没有,不过会使用Ribbon的重试 |
:::tips 一般默认值就能满足我们使用,如果要自定义时,只需要创建自定义的Bean覆盖默认Bean即可 :::
配置文件配置日志级别
配置指定服务
feign:
client:
config:
#指定某个服务的配置
服务名称:
#配置日志级别
loggerLevel: FULL
全局配置
feign:
client:
config:
#default是全局配置
default:
#配置日志级别
loggerLevel: FULL
代码方式配置日志级别
创建实体类
public class DefaultFeignConfiguration {
@Bean
public Logger.Level feignLogLevel(){
//日志级别为BASIC
return Logger.Level.BASIC;
}
}
全局配置
:::tips 如果要在此工程中全局生效,就指定启动类上@EnableFeignClients注解的defaultConfiguration属性为配置类类名.class :::
@EnableFeignClients(defaultConfiguration = DefaultFeignConfiguration .class)
局部配置
:::tips 如果要在XxxClient中局部生效,就指定XxxCllient接口上@FeignClient注解的configuration属性为配置类类名.class :::
@FeignClient(value = "服务名称", configuration = DefaultFeignConfiguration .class)