1.问题描述:
前端在调用后端的时候,报500 nested exception is java.lang.IllegalArgumentException: Cannot generate variable name for non-typed Collection parameter type] with root cause异常:
经查询翻译:大概解释说是无法生成非类型化集合参数类型的变量名称,
我的controller层代码如下:根据上述判断为我的请求接收参数cartList异常,而后判断是要加泛型,这样请求参数cartList才能完成映射接收关系,否则,其内部元素找不到匹配的类型;
@RestController
@RequestMapping("cart")
public class CartController {
@Reference
private CartService cartService;
@RequestMapping("addItemToCartList")
public LoginResult addItemToCartList(@RequestBody List cartList, Long itemId, Integer num){
cartList = cartService.addItemToCartList(cartList, itemId, num);
LoginResult result = new LoginResult(true,null,cartList);
return result;
}
2.解决方案:
在List后加泛型进行约束,当然,这个看你自己具体的代码.
addItemToCartList(@RequestBody List<Cart> cartList, Long itemId, Integer num)
完美解决问题!