报的错误:Failed to instantiate [java.util.List]: Specified class is an interface
翻译:无法实例化List
错误事例:
public Object editPermission( Integer roleid, List<PermissionEntity> permissionList){
return null;
}
当传参是List集合时,spring在注入的时候,不允许注入一个List类型的对象,所以会导致报错。
解决方法:可以将这个List集合封装成一个对象,本文中List集合封装的对象是PermissionListVO:
public class PermissionListVO{
//这个数组的命名permission,要和前端传过来的名字一致
private List<PermissionEntity> permission;
public List<PermissionEntity> getPermission() {
return permission;
}
public void setPermission(List<PermissionEntity> permission) {
this.permission = permission;
}
图1-1
翻译:无法实例化List
错误事例:
public Object editPermission( Integer roleid, List<PermissionEntity> permissionList){
return null;
}
当传参是List集合时,spring在注入的时候,不允许注入一个List类型的对象,所以会导致报错。
解决方法:可以将这个List集合封装成一个对象,本文中List集合封装的对象是PermissionListVO:
public class PermissionListVO{
//这个数组的命名permission,要和前端传过来的名字一致
private List<PermissionEntity> permission;
public List<PermissionEntity> getPermission() {
return permission;
}
public void setPermission(List<PermissionEntity> permission) {
this.permission = permission;
}
}
public Object editPermission( @RequestBody PermissionListVO permissionList){
return null;
}
注意:
对象List集合的命名一定要与前端传过来的参数命名一致。
图1-1显示的是post方式的传参
图1-1
post方式传参,参数名为permission。这个List集合的命名也得是permission;