Smail_的gravatar头像
Smail_ 2016-10-20 18:15:11
Spring RestTemplate java.util.LinkedHashMap cannot be cast to .... 异常的解决方案

Spring RestTemplate java.util.LinkedHashMap cannot be cast to .... 异常的解决方案

这是Spring RestTemplate getForObject的一个坑。

Spring RestTemplate java.util.LinkedHashMap cannot be cast to .... 异常的解决方案这是服务层代码。

嗯——,按理说我UI层用List<Owner>去接没错啊。

然而错了.....

它给我返回的是List<LinkedHashMap>,变种了......

于是我这么去接:

Spring RestTemplate java.util.LinkedHashMap cannot be cast to .... 异常的解决方案.......

尼玛,总觉得不伦不类......

老子强迫症又犯了,你给我Map,不行,我不要,我就要Bean......

google一下:

All Jackson knows is that you want a List, but doesn't have any restriction on the type. By default Jackson deserializes a JSON object into a LinkedHashMap, so that's why you are getting the ClassCastException.

If your returned JSON is an array, one way to get it is to use an array

MyModelClass[] myModelClasses = restTemplate.postForObject(url,mvm, MyModelClass[].class);

You can always add the elements from that array to a List.

原来如此。

改下代码:

Spring RestTemplate java.util.LinkedHashMap cannot be cast to .... 异常的解决方案 perfect!!!!!


打赏
最近浏览
chao20 2022年3月4日
暂无贡献等级
112233123  LV1 2022年1月20日
19120637281 2021年12月20日
暂无贡献等级
wjy_cloud  LV1 2021年7月23日
comment  LV1 2021年7月19日
11703060125  LV8 2021年6月23日
Rommel  LV27 2021年5月24日
1036608941  LV1 2021年3月22日
csy1209457788  LV3 2021年3月12日
duanlobo  LV1 2020年12月18日
顶部 客服 微信二维码 底部
>扫描二维码关注最代码为好友扫描二维码关注最代码为好友