java.util.LinkedHashMap cannot be cast to

报错信息:
{
    "ErrorCode" : 2,
    "ErrorContent" : "java.util.LinkedHashMap cannot be cast to com.better517na.gwCommunicateJavaService.wordJiujiu.model.vo.PayVo",
    "ResponseTime" : 1455851510156
}
解决思路:
1、服务调用方 传参正确,调用方和服务提供方的对象model均未使用LinkedHashMap。
2、入参
public class RequestVo {
    @NotNull
     private T body;
}
body是泛型。
3、调用方传入参数 RequestVo,提供方只是直接 PayVo payVo = requestVo.getBody() 了,这里出现了异常。

解决方案:
    将传入的参数转为PayVo即可。添加如下两行代码:

  // 将泛型body转json再转PayVo对象。
  PayVo payvo = GSON.fromJson(GSON.toJson(requestVo.getBody()), PayVo.class);
 requestVo.setBody(payvo);
后面再 PayVo payVo = requestVo.getBody()即正常了。

欢迎个人转载,但须在文章页面明显位置给出原文连接;
未经作者同意必须保留此段声明、不得随意修改原文、不得用于商业用途,否则保留追究法律责任的权利。

【 CSDN 】:csdn.zxiaofan.com
【GitHub】:github.zxiaofan.com

如有任何问题,欢迎留言。祝君好运!
Life is all about choices! 
将来的你一定会感激现在拼命的自己!

你可能感兴趣的:(Debug)