restTemplate序列化错误no suitable HttpMessageConverter found for response type

老王就是我 2019-07-19 09:31:24
跳转服务传递实体化对象报错找不到序列化方式【no suitable HttpMessageConverter found】

@Autowired
// private RestTemplateBuilder builder;
//
// @Autowired
// private ObjectMapper objectMapper;

// 使用RestTemplateBuilder来实例化RestTemplate对象,spring默认已经注入了RestTemplateBuilder实例
// @Bean
// @LoadBalanced
// public RestTemplate restTemplate() {
//
// RestTemplate restTemplate = builder.build();
//
// List<HttpMessageConverter<?>> messageConverters = Lists.newArrayList();
// MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter();
// converter.setObjectMapper(objectMapper);
//
// //不加可能会出现异常
// //Could not extract response: no suitable HttpMessageConverter found for response type [class ]
//
// MediaType[] mediaTypes = new MediaType[]{
// MediaType.APPLICATION_JSON,
// MediaType.APPLICATION_OCTET_STREAM,
//
// MediaType.TEXT_HTML,
// MediaType.TEXT_PLAIN,
// MediaType.TEXT_XML,
// MediaType.APPLICATION_STREAM_JSON,
// MediaType.APPLICATION_ATOM_XML,
// MediaType.APPLICATION_FORM_URLENCODED,
// MediaType.APPLICATION_JSON_UTF8,
// MediaType.APPLICATION_PDF,
// };
//
// converter.setSupportedMediaTypes(Arrays.asList(mediaTypes));
//
// try {
// //通过反射设置MessageConverters
// Field field = restTemplate.getClass().getDeclaredField("messageConverters");
//
// field.setAccessible(true);
//
// List<HttpMessageConverter<?>> orgConverterList = (List<HttpMessageConverter<?>>) field.get(restTemplate);
//
// Optional<HttpMessageConverter<?>> opConverter = orgConverterList.stream()
// .filter(x -> x.getClass().getName().equalsIgnoreCase(MappingJackson2HttpMessageConverter.class
// .getName()))
// .findFirst();
//
// if (opConverter.isPresent() == false) {
// return restTemplate;
// }
//
// messageConverters.add(converter);//添加MappingJackson2HttpMessageConverter
//
// //添加原有的剩余的HttpMessageConverter
// List<HttpMessageConverter<?>> leftConverters = orgConverterList.stream()
// .filter(x -> x.getClass().getName().equalsIgnoreCase(MappingJackson2HttpMessageConverter.class.getName()) == false)
// .collect(Collectors.toList());
//
// messageConverters.addAll(leftConverters);
//
// System.out.println(String.format("【HttpMessageConverter】原有数量:%s,重新构造后数量:%s"
// , orgConverterList.size(), messageConverters.size()));
//
// } catch (Exception e) {
// e.printStackTrace();
// }
//
// restTemplate.setMessageConverters(messageConverters);
//
// return restTemplate;
// }

注释的就是序列化的代码,重新注释后就会报新错

Unexpected character ('<' (code 60)): expected a valid value

转格式又报错
...全文
1517 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
老王就是我 2019-07-19
  • 打赏
  • 举报
回复
我使用的是阿里巴巴的fastjson序列化

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧