服务器报500错误 No primary or single unique constructor found for interface java.util.List
创始人
2025-01-18 19:32:03
0

 批量删除日志记录 前端请求

URL:http://localhost:8080/system/log?ids=3,4,5

Method:DELETE

//批量删除日志记录     deleteLogs() {       let url = '/system/log'       if (this.currentRow == null && this.multipleSelection.length == 0) {         this.$message.warning("请先选择记录")         return;       } else if (this.multipleSelection.length > 0) {         url += '?ids=' + this.multipleSelection;       } else if (this.currentRow && this.multipleSelection.length == 0) {         url += '?ids=' + this.currentRow.id;       }       this.$confirm('此操作将永久删除该记录,是否继续?', '提示', {type: "warning"}).then(() => {         this.deleteRequest(url).then(resp => {           if (resp) {             this.getLogs();           }         });       }).catch(() => {         this.$message.info('已取消当前操作~')       });     }

后端接口:

 /**      * 根据id删除日志记录      * @param ids      * @return      */     @DeleteMapping     public Result deleteLogsByIds(List ids){         boolean flag = operatorLogService.removeByIds(ids);         if (flag){             return Result.success("删除成功");         }         return Result.error("删除失败");     }

报错:java.lang.IllegalStateException: No primary or single unique constructor found for interface java.util.List

解决方法:添加@RequestParam注解

 @DeleteMapping     public Result deleteLogsByIds(@RequestParam List ids){         boolean flag = operatorLogService.removeByIds(ids);         if (flag){             return Result.success("删除成功");         }         return Result.error("删除失败");     }

原因分析: 由于 Spring Boot 默认情况下会尝试使用请求参数的值来创建方法参数,但对于接口类型(如 java.util.List)而言,它无法直接创建一个接口的实例。

通过使用 @RequestParam 注解,明确指定了请求参数的名称,并将请求参数的值绑定到方法参数上,从而避免了这个错误。@RequestParam 注解告诉 Spring Boot 去查找请求参数的值,并将值映射到方法参数上,而不会尝试创建一个接口的实例。

所以,如果你的方法参数是一个具体的类类型(如 List),那么 Spring Boot 可以通过请求参数的值来创建一个具体的类的实例。但是对于接口类型,它无法这样做,因此需要使用 @RequestParam 注解来明确指定参数的名称和类型,以避免错误。总之,为了避免这个错误,当你的方法参数类型是接口类型时,使用 @RequestParam 注解是一个好的做法,它可以确保参数的正确绑定和映射。

相关内容

热门资讯

解迷一下!德友汇辅助器,家乡大... 解迷一下!德友汇辅助器,家乡大二辅助免费,原来有挂(哔哩哔哩)1、这是跨平台的家乡大二辅助轻量版有透...
揭露一下!斗棋bug,盛世辅助... 揭露一下!斗棋bug,盛世辅助器,竟然真的有挂(哔哩哔哩)1、让任何用户在无需盛世辅助器安装教程第三...
专业一下!互游辅助,三江互娱辅... 专业一下!互游辅助,三江互娱辅助,真是是有挂(哔哩哔哩)1、进入到互游辅助是否有挂之后,能看到左侧胜...
解密一下!胡乐麻将辅助器,广西... 解密一下!胡乐麻将辅助器,广西老友玩有破解视频,一直是有挂(哔哩哔哩)1、解密一下!胡乐麻将辅助器,...
辅助一下!闲来辅助神器下载,八... 辅助一下!闲来辅助神器下载,八闽掌上辅助软件,总是存在有挂(哔哩哔哩)闲来辅助神器下载破解侠是真的助...
推荐一下!天天挂机辅助工具,福... 推荐一下!天天挂机辅助工具,福建天天开心辅助真是性,好像存在有挂(哔哩哔哩)1.天天挂机辅助工具 选...
关于一下!决战辅助软件,九九山... 关于一下!决战辅助软件,九九山城万州版脚本,好像真的是有挂(哔哩哔哩)1、九九山城万州版脚本脚本辅助...
总结一下!小程序四川血战辅助,... 总结一下!小程序四川血战辅助,天酷辅助器,好像真的有挂(哔哩哔哩)1、小程序四川血战辅助脚本辅助下载...
教你一下!多乐辅助下载够机,胡... 教你一下!多乐辅助下载够机,胡易决胜麻架辅助,确实有挂(哔哩哔哩)1、超多福利:超高返利,海量正版游...
详细一下!小程序牵手跑得有辅助... 详细一下!小程序牵手跑得有辅助器,牛总管一定要牛辅助,本来真的有挂(哔哩哔哩)1、很好的工具软件,可...