问题描述
使用SringBoot提供的RestTemplate发起http请求,类型转换成了LinkedHashMap
DataEntity result = restTemplate.getForObject(url, DataEntity.class);
报错信息如下
java.lang.ClassCastException:
java.util.LinkedHashMap cannot be cast to com.demo.api.entity.DataEntity
解决办法
不用具体的对象接收返回数据,直接使用字符串接收,接收到之后再用Jackson
进行反序列化
大致的代码如下
String result = restTemplate.getForObject(url, String.class);
ObjectMapper objectMapper = new ObjectMapper();
DataEntity data = objectMapper.readValue(json, DataEntity.class);