如何启用Spring Boot连接到外部API



我正在代理服务器后面开发一个Spring Boot应用程序。现在我需要连接到外部API,但我还不知道要配置什么才能使应用程序连接到外部API,我已经尝试传递带有程序参数的代理数据,并且我已经尝试在Java控制面板中配置代理。我如何让应用程序使用代理来访问API?

您可以使用自定义RestTemplate,例如:

YourCustomRestTemplate.java:

class YourCustomRestTemplate implements RestTemplateCustomizer {
@Override
public void customize(RestTemplate restTemplate) {
HttpHost proxy = new HttpHost(PROXY_SERVER_HOST, PROXY_SERVER_PORT);
HttpClient httpClient = HttpClientBuilder.create()
.setRoutePlanner(new DefaultProxyRoutePlanner(proxy) {
@Override
public HttpHost determineProxy(HttpHost target, HttpRequest request, HttpContext context) throws HttpException {
return super.determineProxy(target, request, context);
}
})
.build();
restTemplate.setRequestFactory(new HttpComponentsClientHttpRequestFactory(httpClient));
}
}

当您想要构建RestTemplate对象来调用API时:

RestTemplate restTemplate = new RestTemplateBuilder(new YourCustomRestTemplate()).build();
ResponseEntity<String> responseEntity = restTemplate.getForEntity("__URL__/get", String.class);

最新更新