RestTemplate各组成部分说明
什么是RestTemplate:
SpringBoot中RestTemplate是对HttpClient的一种封装,用于访问Restful的远程API接口。简化了HttpClient开发步骤,减少了代码量。
自定义RestTemplate:
在对RestTemplate的底层连接方式进行修改时,需要自定义配置HttpClient并生成ClientHttpRequestFactory对象,ClientHttpRequestFactory对象作为参数传入RestTmplate构造器用于生成ResTemplate。
@Bean
public RestTemplate createRestTemplate(){
//此处省略HttpClient按需求配置http底层连接属性代码
HttpClient client=...;
ClientHttpRequestFactory requestFactory=new HttpComponentsClientHttpRequestFactory(httpClient); //根据HttpClient生 ClientHttpRequestFactory
RestTemplate restTemplate=new RestTemplate(requestFactory); //根据ClientHttpRequestFactory生成满足需求自定义的RestTemplate
}
RestTemplate转换器:
转换器用于对请求与响应报文的body进行转换,RestTemplate集成了多种转换器。其中json转换器可将bean转换为json,json转换为bean。若想自定义转换器可自定义实现org.springframework.http.client.ClientHttpRequestInterceptor接口,并注入RestTemplate中。
RestTemplate拦截器:
RestTemplate可以设置拦截器Interceptor。请求发生对请求拦截进行额外报文设置。
满足90%RestTemplate使用场景的入门操作参考博文:RestTemplate