服务器报500错误 No primary or single unique constructor found for interface java.util.List

这篇具有很好参考价值的文章主要介绍了服务器报500错误 No primary or single unique constructor found for interface java.util.List。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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<Long> 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<Integer> ids){
        boolean flag = operatorLogService.removeByIds(ids);
        if (flag){
            return Result.success("删除成功");
        }
        return Result.error("删除失败");
    }

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

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

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

到了这里,关于服务器报500错误 No primary or single unique constructor found for interface java.util.List的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • “No primary or single unique constructor found for interface java.util.List”问题原因及解决

    问题原因: 这个错误通常出现在使用 MyBatis 查询结果映射时,MyBatis 无法找到适合的构造方法来将查询结果转换为指定的 Java 对象。具体来说,错误信息 \\\"No primary or single unique constructor found for interface java.util.List\\\" 意味着 MyBatis 在将查询结果转换为 List 类型对象时遇到了问题,

    2024年02月09日
    浏览(55)
  • springboot传递List类型参数报错 No primary or single unique constructor found for interface java.util.List

    昨天在做毕设进行一对多插入的时候 出现了500错误 先看代码 mapper层代码 这里我是list集合进行一对多插入 控制层 前端  页面展示 然后页面显示500错误  查看控制台   报错:No primary or single unique constructor found for interface java.util.List     at org.springframework.beans.BeanUtils.getResol

    2024年02月11日
    浏览(47)
  • spring boot kotlin webflux 或 web 多文件上传 报错400 415 No primary or single unique constructor found for

    #当我们使用Kotlin编写Spring Boot进行多文件上传的时候,传统的方法如下: 此时会有如下几种情况: 以上是第一种情况,直接报错,并提示无主构造函数。这时我们通过互联网搜索可能会在形参上加上: @RequestParam (web)或者 @RequestPart (webflux)。如下: 然后后端没报错了,返回值

    2024年02月15日
    浏览(41)
  • C# webservice 接收json数据 接口返回 远程服务器返回错误: (500) 内部服务器错误

    C# post 调用webservice 服务端接口,会返回上面那个错误,8成是发送的数据和接口不符合造成的。有2种情况 第一种情况如下:如果类型是默认request.ContentType = \\\"application/x-www-form-urlencoded\\\";这个类型 那么你发送数据和被调用接口参数名如果不对,则会报下图这个错 我发送的参数名

    2024年02月13日
    浏览(64)
  • HTTP 500错误:服务器内部错误,原因及解决方案

    大家好,今天我们来聊聊一个常见的问题——HTTP 500错误,也就是服务器内部错误。这个错误就像是一个神秘的魔法,时不时地出现在你的网页上,让你的用户和你在一片懵逼中互相猜疑。 首先,我们来了解一下这个错误。HTTP 500错误是服务器在处理请求时发生了内部错误,

    2024年02月04日
    浏览(76)
  • 解决服务器报500错误的VSFTPD权限配置方法

    VSFTPD是一个常用的FTP服务器软件,但有时候在配置权限时会出现500错误。本文将介绍如何解决这个问题,并提供相应的源代码示例。 步骤1:检查VSFTPD配置文件 首先,我们需要检查VSFTPD的配置文件是否正确设置。配置文件通常位于 /etc/vsftpd.conf 。使用文本编辑器打开该文件,

    2024年01月19日
    浏览(71)
  • 什么是HTTP 500内部服务器错误,要怎么修复

    HTTP 500是一种原始的错误代码,它指示网站服务器在处理请求时发生了内部错误,不过具体错误原因是不确定的。一般情况下,这种错误通常是由服务器程序上的bug或者配置问题造成的。当服务器收到请求时,尝试执行它时,但是发现无法执行请求并在处理请求时发生了问题

    2024年02月10日
    浏览(60)
  • 什么是HTTP500内部服务器错误,要如何修复

    HTTP 500内部服务器错误是指在服务器端处理请求时发生了错误,导致无法完成请求并返回错误信息。这种错误通常由服务器端的程序错误、数据库连接问题、权限问题或配置问题引起。下面将详细介绍HTTP 500错误的常见原因及解决方案。 1.服务器端程序错误 如果服务器端程序

    2024年02月06日
    浏览(50)
  • 服务器出现500、502、503错误的原因以及解决方法

    服务器我们经常会遇到访问不了的情况有的时候是因为我们服务器被入侵了所以访问不了,有的时候是因为出现了服务器配置问题,或者软硬件出现问题导致的无法访问的问题,这时候会出现500、502、503等错误代码。基于以上问题我们第一步可以先重启服务器,一般重启服务

    2024年01月18日
    浏览(64)
  • 【python】request.post报错显示服务器内部错误500

    今天遇到一个问简单的问题,我通过pycharm发送post请求的时候,总是报500错误,提示服务器内部错误。但是我用postman尝试请求的时候,是能够返回的。 网上找了一下,发现是参数的配置的问题。 原始的代码: 参考如下博主的解决方式: 点我 更改之后的代码: 问题得到解决

    2024年02月12日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包