@RequestBody使用时出现的类转换异常

问题描述:

后台使用@RequestBody以map的形式接收前端传递的参数,在获取map中的list集合时出现转换异常错误。

java.lang.Integer cannot be cast to java.lang.CharSequence/java.lang.String;
在这里插入图片描述

原因分析:

由于传递的参数有数组,需要对数组进行处理,所以在Controller接收前端传递的参数时,使用了Map<String,Object>接收数据。
在这里插入图片描述
但是在service方面处理其中的传递的数组时,使用了Map<String,String>进行接收,但是该Map<String,String>本质上还是Object,Java会根据自己的理解选择合适的类型进行接收。
在这里插入图片描述
这时候list传递的参数中有使用数字类型进行传递,那么就会出现类型转换异常。
在这里插入图片描述

在这里插入图片描述

解决方案:

将上文中list的Map<String,String>泛型修改为Map<String,Object>。自行转换类型。
在这里插入图片描述


版权声明:本文为weixin_46621774原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。