feign 是怎么选择 httpclient 的?
@FeignClient("service-id")
默认走的是 LoadBalancerFeignClient
而一旦注解加上了 url,走的就是 DefaultClient 了
这块是在哪儿处理的?我能不能手动指定使用哪一个?
@FeignClient("service-id")
默认走的是 LoadBalancerFeignClient
而一旦注解加上了 url,走的就是 DefaultClient 了
这块是在哪儿处理的?我能不能手动指定使用哪一个?
@FeignClient(value = “service-id”,url=”${service.url:}”)
你说的 httpclient 是说用 okhttp, apache httpclient..
还是说选择哪一个 web 实例去调用??
我的需求是写一个 feign 拦截器,针对一批共性的 feign client,通过名称和环境,换成 url 访问……
现在的解决方案是通过拦截器
“`
@Slf4j
@Component
public class MyFeignInterceptor implements RequestInterceptor {
@Value(“${svc.host}”)
private String svcHost;
@Override
public void apply(RequestTemplate template) {
String name = template.feignTarget().name();
if (name.toLowerCase().endsWith(“xxx-svc”)){
template.target(“http://” + name.toLowerCase() + “.” + svcHost);
}
}
}
“`