springboot restTemplate配置

太过爱你忘了你带给我的痛 2021-11-23 00:44 423阅读 0赞

spring template配置示例

  1. @Bean
  2. public RestTemplate restTemplate() {
  3. SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
  4. requestFactory.setConnectTimeout(6000);// 设置建立连接超时时间 毫秒
  5. requestFactory.setReadTimeout(6000);// 设置读取数据超时时间 毫秒
  6. RestTemplate restTemplate = new RestTemplate(requestFactory);
  7. // jackson配置
  8. ObjectMapper objectMapper = new ObjectMapper();
  9. // 配置如果被序列化的对象没有可访问的属性 不报错,返回一个空的bean,即{}
  10. objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
  11. // 创建json消息转换器
  12. MappingJackson2HttpMessageConverter jacksonConverter = new MappingJackson2HttpMessageConverter(objectMapper);
  13. List<MediaType> mediaTypes = new ArrayList<>(jacksonConverter.getSupportedMediaTypes());
  14. // 为json消息转换器新增直接text_plain类型 避免遇到响应体是json,而响应头是text/plain类型无法找到适合的解析
  15. mediaTypes.add(MediaType.TEXT_PLAIN);
  16. jacksonConverter.setSupportedMediaTypes(mediaTypes);
  17. List<HttpMessageConverter<?>> messageConverters = Arrays.asList(
  18. new ByteArrayHttpMessageConverter(),
  19. new StringHttpMessageConverter(Charset.forName("utf-8")),
  20. new ResourceHttpMessageConverter(),
  21. new SourceHttpMessageConverter<>(),
  22. new FormHttpMessageConverter(),
  23. jacksonConverter
  24. );
  25. restTemplate.setMessageConverters(messageConverters);
  26. return restTemplate;
  27. }

各种解析器默认支持的类型表
























































类名 支持的JavaType 支持的MediaType
ByteArrayHttpMessageConverter byte[] application/octet-stream, /
StringHttpMessageConverter String text/plain, /
ResourceHttpMessageConverter Resource /
SourceHttpMessageConverter Source application/xml, text/xml, application/+xml
AllEncompassingFormHttpMessageConverter Map<K, List<?>> application/x-www-form-urlencoded, multipart/form-data
MappingJackson2HttpMessageConverter Object application/json, application/+json
Jaxb2RootElementHttpMessageConverter Object application/xml, text/xml, application/+xml
JavaSerializationConverter Serializable x-java-serialization;charset=UTF-8
FastJsonHttpMessageConverter Object /*

发表评论

表情:
评论列表 (有 0 条评论,423人围观)

还没有评论,来说两句吧...

相关阅读