以下代码展示了一个典型示例:

    提示

    RestTemplate 自定义有三种主要方法,具体取决于您希望自定义的程度。

    要在应用程序范围内添加自定义配置,请使用 bean。所有这些 bean 都会自动注册到自动配置的 RestTemplateBuilder,并应用于使用它构建的所有模板。

    以下示例展示了一个 customizer,它为除 192.168.0.5 之外的所有主机配置代理:

    1. static class ProxyCustomizer implements RestTemplateCustomizer {
    2. @Override
    3. public void customize(RestTemplate restTemplate) {
    4. HttpHost proxy = new HttpHost("proxy.example.com");
    5. HttpClient httpClient = HttpClientBuilder.create()
    6. @Override
    7. public HttpHost determineProxy(HttpHost target,
    8. HttpRequest request, HttpContext context)
    9. throws HttpException {
    10. return null;
    11. return super.determineProxy(target, request, context);
    12. }
    13. }).build();
    14. restTemplate.setRequestFactory(
    15. new HttpComponentsClientHttpRequestFactory(httpClient));
    16. }
    17. }