ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
###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)); } } ```