Cannot generate variable name for non-typed Collection parameter type] with root cause

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)

完美解决问题!

猜你喜欢

转载自blog.csdn.net/p778970202/article/details/81590079