如何进行Feign的自定义配置
2023-12-16 17:39:18
- Feign可以支持很多的自定义配置,下列是部分配置信息
-
类型 作用 说明 Logger.Level 修改日志级别 配置键:loggerLevel,包含四种不同的级别:NONE、BASIC、HEADERS、FULL Class<Retryer> 失败重试机制 配置键:retryer,请求失败的重试机制,默认是没有,不过会使用Ribbon的重试 Class<Decoder> 响应结果的解析器 配置键:decoder,http远程调用的结果做解析,例如解析json字符串为java对象 Class<Encoder> 请求参数编码 配置键:encoder,将请求参数编码,便于通过http请求发送 Class<Contract> 支持的注解格式 配置键:contract,默认是SpringMVC的注解 - 一般情况下,默认值就能满足我们自己的使用了,如果要自定义时,只需要创建自定义的@Bean覆盖默认Bean即可,或者将配置文件的信息修改为自己的配置信息
-
- 以修改feign的日志级别为例
- 修改配置文件方式
- 针对单个微服务的feign进行设置
- 在application.yml文件中添加配置
-
feign: client: config: # 指的是@FeignClient中的value设定的值,也就是对应的微服务名称 nacos-feign-user-service: # 日志级别 loggerLevel: FULL
-
- 在application.yml文件中添加配置
- 针对当前所有微服务进行设置
- 在application.yml文件中添加配置
-
feign: client: config: # default就是全局配置 default: # 日志级别 loggerLevel: FULL
-
- 在application.yml文件中添加配置
- 针对单个微服务的feign进行设置
- java代码编码方式
- 首先创建feign的配置类DefaultFeignConfiguration
-
package com.app.order.config; import feign.Logger; import org.springframework.context.annotation.Bean; /** * feign的系统配置信息 * * @author Administrator */ public class DefaultFeignConfiguration { @Bean public Logger.Level feignLoggerLevel() { // 日志级别设置为FULL return Logger.Level.FULL; } }
-
- 针对单个微服务的feign进行设置
- 在对应服务的@FeignClient中添加configuration属性
-
@FeignClient(value = "nacos-feign-user-service", path = "/users", configuration = DefaultFeignConfiguration.class)
-
- 在对应服务的@FeignClient中添加configuration属性
- 针对当前所有微服务进行设置,也就是全局配置
- 修改项目的启动类的注解@EnableFeignClients,添加defaultConfiguration属性
-
@EnableFeignClients(clients = {UserApi.class}, defaultConfiguration = DefaultFeignConfiguration.class)
-
- 修改项目的启动类的注解@EnableFeignClients,添加defaultConfiguration属性
- 首先创建feign的配置类DefaultFeignConfiguration
- 日志级别详细
- NONE:不记录任何日志信息,这是默认值
- BASIC:仅记录请求的方法,URL以及响应状态码和执行时间
- HEADERS:在BASIC的基础上,额外记录了请求和响应的头信息
- FULL:记录所有请求和响应的明细,包括头信息、请求体、元数据
- 注意
- feign相关的日志默认是不会输出的,需要自定义配置才能输出,并且Feign只对debug级别的基本的日志做出响应,所以需要将日志级别设置为debug级别,info级别是不会输出的,其源码如下
- feign相关的日志默认是不会输出的,需要自定义配置才能输出,并且Feign只对debug级别的基本的日志做出响应,所以需要将日志级别设置为debug级别,info级别是不会输出的,其源码如下
- 修改配置文件方式
文章来源:https://blog.csdn.net/weixin_41926152/article/details/135034114
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!