栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Feign全局配置和局部配置

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Feign全局配置和局部配置

Feign全局配置和局部配置

在使用Feign的时候需要注意是否为全局配置和局部配置,否则可能会导致各种奇怪异常,而且在调试的是否也不容易看出问题。全局配置和局部配置的差别比较微妙,稍不注意可能会出问题。因此,这里总结给大家,防止大家也出现异常的问题。

全局配置:
@Configuration
public class FeignConfiguration {

    @Bean
    public FeignBasicAuthRequestInterceptor basicAuthRequestInterceptor() {
        return new FeignBasicAuthRequestInterceptor();
    }

}

全局配置时不要在@FeignClient中使用configuration属性,虽然这样也不会抛错,这里一定要注意。

@FeignClient(
    value = StandardServiceAPI.SERVICE_NAME,
    url = "${spring.gateway.host}:${spring.gateway.port}",
    configuration = FeignConfiguration.class
)

注意:

  1. 全局配置的时候,就不需要在具体的FeignClient类中再配置configuration属性了。
  2. 全局配置会使得所有的@FeignClient类都生效,因为@configuration会自动注册到Spring中,导致feign默认使用该配置。
局部配置:
public class ManagerFeignConfig {
    @Bean
    public RequestInterceptor managerFeignInterceptor() {
        return new ManagerFeignInterceptor();
    }
}
@FeignClient(value = StandardServiceAPI.SERVICE_NAME,
    url = "${spring.gateway.host}:${spring.gateway.port}",
    configuration = ManagerFeignConfig.class)
public interface StandardServiceClient {

    @PutMapping(StandardServiceAPI.STANDARD_PROCESS_APPLY_STATUS)
    ResultData updateProcessRequestStatus(
        @Valid @RequestBody
            UpdateProcessRequestStatusDto updateProcessRequestStatusDto);

}

注意:

  1. ManagerFeignConfig类不要加任何Spring注解,防止注入到Spring中,导致所有FeignClient都生效。
  2. FeignClient会自动将ManagerFeignConfig类注入到Spring容器并且只应用到具体的FeignClient类中,因此,也可以在ManagerFeignConfig中使用@Value注解。
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/287846.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号