本文主要是介绍feign使用记录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
RequestInterceptor
1.如果实现类添加@Component注解,全局生效
@Component
public class MyRequestInterceptor implements RequestInterceptor
2.如果在FeignClient注解配置对应的RequestInterceptor,并且RequestInterceptor没有注解@Component,只会在当前FeignClient生效
public class MyRequestInterceptor implements RequestInterceptor {}
@FeignClient(name = "user-service", configuration = {MyRequestInterceptor.class})
configuration使用中的一些问题
1.配置类如果注解@Component,则对全局生效
@Component
public class FeignContractConfig{
@Bean
public Contract feignContract() {
return new Contract.Default();
}
}
2.配置类如果没有注解@Component,若想使用该配置,则需在@FeignClient引用该配置,
(注意:FeignContractConfig中对应配置属性需要注解@Bean)
public class FeignContractConfig{
@Bean
public Contract feignContract() {
return new Contract.Default();
}
}
@FeignClient(name = "user-service", configuration = {FeignContractConfig.class})
根据以上结论:在使用Feign提供的那套注解时,只需引用FeignContractConfig配置即可。实现不同FeignClient分别使用SpringMVC和Feign注解共存的问题
---------------------------------------
@FeignClient占位符使用
@FeignClient(name = "${feign.name.user}", url = "${feign.url.user}")
application.yml 配置对应的值
feign:
url:
user: http://localhost:8080
xxx: http://api.xxx.com
name:
user: user-service
xxx: xxx-service
这篇关于feign使用记录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!