我在环境变量中设置了代理,但是对于通过RestTemplate进行的特定调用,我不应该使用任何代理。有没有一种方法可以为特定的resttemplate调用禁用代理?
答案 0 :(得分:3)
我将使用单独的RestTemplate而不是禁用和重新启用代理:
@Configuration
public class SomeConfig {
@Bean(name="proxyRestTemplate")
public RestTemplate proxyRestTemplate() {
// return a RestTemplate with proxy settings
return new RestTemplate();
}
@Bean(name="nonProxyRestTemplate")
public RestTemplate nonProxyRestTemplate() {
// return a RestTemplate without proxy settings
return new RestTemplate();
}
}
在您的课程中:
@Component
public class SomeClassWithProxy {
private final RestTemplate restTemplate;
public SomeClass(@Qualifier("proxyRestTemplate") RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
}
@Component
public class SomeClassWithoutProxy {
private final RestTemplate restTemplate;
public SomeClass(@Qualifier("nonProxyRestTemplate") RestTemplate restTemplate) {
this.restTemplate = restTemplate;
}
}