配置
@Configuration
public class RestTemplateConfig {
@Bean
public RestTemplate restTemplate(ClientHttpRequestFactory factory){
return new RestTemplate(factory);
}
@Bean
public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
factory.setConnectTimeout(15000);
factory.setReadTimeout(5000);
return factory;
}
}
构造注入
final RestTemplate restTemplate;
场景用法
RestTemplate定义了36个与REST资源交互的方法,其中的大多数都对应于HTTP的方法。
getForEntity和getForObject
ResponseEntity<User> response =
restTemplate.getForEntity("http://localhost/get/{id}", User.class, id);
User user = response.getBody();
区别就是少了getBody()
PS: RestTemplate 不支持[text/html;charset=UTF-8]
解决方法
自定义HttpMessageConverter, 加入加入text/html类型的支持
public class MyMessageConverter extends MappingJackson2HttpMessageConverter {
public MyMessageConverter() {
L