RestTemplateConfig.java 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. package platform.config;
  2. import org.springframework.boot.web.client.RestTemplateBuilder;
  3. import org.springframework.context.annotation.Bean;
  4. import org.springframework.context.annotation.Configuration;
  5. import org.springframework.web.client.RestTemplate;
  6. /**
  7. * RestTemplate客户端配置
  8. */
  9. @Configuration
  10. public class RestTemplateConfig{
  11. /**
  12. * 通过自动配置的RestTemplateBuilder创建自己需要的RestTemplate实例。自动配置的RestTemplateBuilder会确保应用到RestTemplate实例的HttpMessageConverters是合适的。
  13. * RestTemplateBuilder包含很多有用的方法,可以用于快速配置一个RestTemplate, 默认使用的是SimpleClientHttpRequestFactory(jdk自带的HttpURLConnection)
  14. * 例如,你可以使用builder.basicAuthorization("user", "password").build()添加基本的认证支持(BASIC auth)
  15. * @return
  16. */
  17. @Bean
  18. public RestTemplate restTemplate(RestTemplateBuilder restTemplateBuilder){
  19. return restTemplateBuilder
  20. .setReadTimeout(5000) //ms
  21. .setConnectTimeout(15000) //ms
  22. .build();
  23. }
  24. /****************************************spring传统 java config配置方式***************************************************/
  25. // @Bean
  26. // public RestTemplate restTemplate(ClientHttpRequestFactory factory){
  27. // RestTemplate restTemplate = new RestTemplate();
  28. //
  29. // //配置MessageConverter转换器
  30. // List<HttpMessageConverter<?>> httpMessageConverterList = new ArrayList<>();
  31. //
  32. // httpMessageConverterList.add(new FormHttpMessageConverter());
  33. // httpMessageConverterList.add(new MappingJackson2XmlHttpMessageConverter());
  34. // httpMessageConverterList.add(new MappingJackson2HttpMessageConverter());
  35. // httpMessageConverterList.add(new StringHttpMessageConverter());
  36. //
  37. // restTemplate.setMessageConverters(httpMessageConverterList);
  38. // restTemplate.setRequestFactory(factory);
  39. // return restTemplate;
  40. // }
  41. // @Bean
  42. // public ClientHttpRequestFactory simpleClientHttpRequestFactory(){
  43. // SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
  44. // factory.setReadTimeout(5000);//ms
  45. // factory.setConnectTimeout(15000);//ms
  46. // return factory;
  47. // }
  48. }