没有代理的RestTemplate调用

时间:2019-05-22 18:04:50

标签: java spring spring-boot

我在环境变量中设置了代理,但是对于通过RestTemplate进行的特定调用,我不应该使用任何代理。有没有一种方法可以为特定的resttemplate调用禁用代理?

1 个答案:

答案 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;
    }
}