企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
###33.1 自定义RestTemplate 当使用`RestTemplateBuilder`构建`RestTemplate`时,可以通过`RestTemplateCustomizer`进行更高级的定制,所有`RestTemplateCustomizer` beans将自动添加到自动配置的`RestTemplateBuilder`。此外,调用`additionalCustomizers(RestTemplateCustomizer…)`方法可以创建一个新的,具有其他customizers的`RestTemplateBuilder`。 以下示例演示使用自定义器(customizer)配置所有hosts使用代理,除了`192.168.0.5`: ```java static class ProxyCustomizer implements RestTemplateCustomizer { @Override public void customize(RestTemplate restTemplate) { HttpHost proxy = new HttpHost("proxy.example.com"); HttpClient httpClient = HttpClientBuilder.create() .setRoutePlanner(new DefaultProxyRoutePlanner(proxy) { @Override public HttpHost determineProxy(HttpHost target, HttpRequest request, HttpContext context) throws HttpException { if (target.getHostName().equals("192.168.0.5")) { return null; } return super.determineProxy(target, request, context); } }).build(); restTemplate.setRequestFactory( new HttpComponentsClientHttpRequestFactory(httpClient)); } } ```