【发布时间】:2018-10-07 05:30:26
【问题描述】:
我在设置 spring-cloud-feign 的代理使用时遇到问题,我正在使用下面的类为 Feign 生成 OkHttpClient:
@Configuration
public class FeignConfigurationProxy {
@Value ("$ {url.proxy_host}")
private String HOST_PROXY;
@Value ("$ {url.proxy_port}")
private Integer PORT_PROXY;
private OkHttpClient okHttpClient;
private Proxy proxy;
@PostConstruct
public void init () {
buildProxy ();
buildOkHttpClient ();
}
@Bean (name = "feign")
public Feign buildClient () {
return Feign.builder (). client (new feign.okhttp.OkHttpClient (okHttpClient)).
}
@Bean (name = "okhttpclient")
public OkHttpClient okHttpClient () {
return okHttpClient;
}
public void buildOkHttpClient () {
buildProxy ();
okHttpClient = new OkHttpClient.Builder (). proxy (proxy) .build ();
}
public void buildProxy () {
proxy = new Proxy (Proxy.Type.HTTP, new InetSocketAddress (HOST_PROXY, PORT_PROXY));
}
}
这解决了对我网络外的服务器进行调用的 feign 客户端,但现在我的 localhost 服务器出现问题,我不需要使用代理,当我进行调用时,feign 尝试使用代理并返回给我一个圆锥
【问题讨论】:
-
为什么不写两个配置,一个用于本地流,另一个用于外部
标签: spring-boot proxy spring-cloud-feign okhttp feign