【发布时间】:2022-01-24 22:50:50
【问题描述】:
我有一大堆使用共享配置的 Feign 客户端 (MyFeignConfiguration.class):
@FeignClient(name = "clientA", url = "http://serviceA.com", fallbackFactory = ServiceAFallbackFactory.class, configuration = MyFeignConfiguration.class)
@FeignClient(name = "clientB", url = "http://serviceB.com", fallbackFactory = ServiceBFallbackFactory.class, configuration = MyFeignConfiguration.class)
@FeignClient(name = "clientC", url = "http://serviceC.com", fallbackFactory = ServiceCFallbackFactory.class, configuration = MyFeignConfiguration.class)
但是,对于一个新客户端,我想将用于 OkHttp 的底层 Http Client 更改为。在MyFeignConfiguration 类中,我可以添加以下内容:
@Configuration
class MyFeignConfiguration {
@Bean
public Client getClient() {
return OkHttpClient() // use the OkHttp client
}
@Bean
public ErrorDecoder getErrorDecoder() {
//... existing configs
}
但是,现在所有的客户端都在使用这个 OkHttp 客户端。如何配置新的 feign 客户端,使其仅使用 OkHttp 客户端?此外,我仍然需要使用我的主要 MyFeignConfiguration 类中现有的默认配置(如 ErrorDecoder)。
【问题讨论】:
标签: java spring rest spring-cloud feign