Spring Web 初始化 RestTemplate
Spring Web 如何初始化 RestTemplate
可以通过两种方式初始化 RestTemplate:
- 使用构造函数
可以使用 RestTemplate 的构造函数,将需要的 HttpMessageConverter、ClientHttpRequestFactory 和 Interceptor 传入:
java
RestTemplate restTemplate = new RestTemplate(
Arrays.asList(new MappingJackson2HttpMessageConverter()),
new SimpleClientHttpRequestFactory(),
Collections.singletonList(new LoggingClientHttpRequestInterceptor())
);RestTemplate restTemplate = new RestTemplate(
Arrays.asList(new MappingJackson2HttpMessageConverter()),
new SimpleClientHttpRequestFactory(),
Collections.singletonList(new LoggingClientHttpRequestInterceptor())
);- 使用 RestTemplateBuilder
可以使用 RestTemplateBuilder 来创建 RestTemplate 实例,并通过配置,添加需要的 HttpMessageConverter、ClientHttpRequestFactory 和 Interceptor:
java
RestTemplate restTemplate = new RestTemplateBuilder()
.additionalMessageConverters(new MappingJackson2HttpMessageConverter())
.interceptors(new LoggingClientHttpRequestInterceptor())
.build();RestTemplate restTemplate = new RestTemplateBuilder()
.additionalMessageConverters(new MappingJackson2HttpMessageConverter())
.interceptors(new LoggingClientHttpRequestInterceptor())
.build();其中,LoggingClientHttpRequestInterceptor 是一个自定义的拦截器,用于输出请求和响应的日志。其他的 HttpMessageConverter 和 ClientHttpRequestFactory 可以根据具体的需求来选择添加。