项目背景:
前端使用post方式请求,data类型为json数据类型,后台使用@RequestBody List list接受参数,然后报错
Cannot generate variable name for non-typed Collection parameter type
后台代码:
@RequestMapping(value = "/method", method = RequestMethod.POST)
public Result method(@RequestBody List list) {
//do something
}
解决方案:
切换接受类型为如下:
@RequestMapping(value = "/method", method = RequestMethod.POST)
public Result method(@RequestBody JSONArray array) {
List list = JSONArray.parseArray(array.toJSONString());
//do something
}
先接受为json类型,然后再把json转化为list。
总结:报错信息为找不到对应的参数类型,或者识别不了对应的类型(那我传过来是啥,我就直接接受啥)。我看网上有例子说明重写接受的List类型,继承自ArrayList,链接如下,感兴趣的可以参考如下:
https://blog.csdn.net/hry2015/article/details/81913638
如有理解不对地方,也希望大佬指正。