解决Springboot 2 的@RequestParam接收数组异常问题

 更新时间:2021年08月23日 14:17:34   作者:Garc  
这篇文章主要介绍了解决Springboot 2 的@RequestParam接收数组异常问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Springboot 2 的@RequestParam接收数组异常

最近Vue 开发前端,然后向后台springboot 2 传递数组,发现springboot 2 接收数组方式无法使用

-- @RequestParam("ids[]") List<String> ids --

然后抛出以下异常,经过多轮验证发现@RequestParam("ids[]") 失效,无法使用(不知道是BUG,还是改了,之前可以的)

Resolved [org.springframework.web.bind.MissingServletRequestParameterException] Required String[] parameter 'ids[]' is not present]

所以这里给出解决方式:

1、后端方法接收去除@RequestParam ,然后使用数组接收 例如:String[] ids

2、前端传递数组axios 需要使用 URLSearchParams 包裹数组

3、请求头中参数传递显示为如图所示:

无论是axios还是ajax 只要请求头传递格式是这样的,后端用String[] ids 接收就行了

Springboot 的 用数组接参方法 Post接参 RequestParam

@RequestParam(value = "meetingIds",required = false)

其中value 的值随传参改变

加在接参方法的前边,例:

public  JSONObject getInfo(String searchText, @RequestParam(value = "meetingIds",required = false) List<Long> meetingIds){}

如果传递参数的格式是 meetingIds = 1,23,4,5 这样的 则直接写参数名meetingIds 即可;

有几点需要注意:

1、如果是post传参,前端直接传数组类型的数据,后台接参需要吧value改为 meetingIds[] 注意括号

2、如果是参数有可能不传,则需要设置required = false , 如果不写,则默认会是true,也就是必然有参数,如果没参数会报错,不进入方法。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • SpringCloud-Gateway转发WebSocket失败问题及解决

    SpringCloud-Gateway转发WebSocket失败问题及解决

    这篇文章主要介绍了SpringCloud-Gateway转发WebSocket失败问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-09-09
  • 详解Springboot对多线程的支持

    详解Springboot对多线程的支持

    Spring是通过任务执行器(TaskExecutor)来实现多线程和并发编程,使用ThreadPoolTaskExecutor来创建一个基于线城池的TaskExecutor。这篇文章给大家介绍Springboot对多线程的支持,感兴趣的朋友一起看看吧
    2018-07-07
  • maven 隐式依赖引起的包冲突解决办法

    maven 隐式依赖引起的包冲突解决办法

    这篇文章主要介绍了maven 隐式依赖引起的包冲突解决办法的相关资料,需要的朋友可以参考下
    2016-12-12
  • Java从零编写吃货联盟订餐系统全程讲解

    Java从零编写吃货联盟订餐系统全程讲解

    这篇文章主要介绍了Java订餐系统,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-12-12
  • IDEA中项目集成git提交代码的详细步骤

    IDEA中项目集成git提交代码的详细步骤

    这篇文章主要介绍了IDEA中项目集成git提交代码的详细步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-10-10
  • 解决java执行cmd命令调用ffmpeg报错Concat error - No such filter ''[0,0]''问题

    解决java执行cmd命令调用ffmpeg报错Concat error - No such filter ''[0,0]

    这篇文章主要介绍了java执行cmd命令,调用ffmpeg报错Concat error - No such filter '[0,0]'解决方法,本文通过截图实例代码说明给大家介绍的非常详细,对大家的工作或学习有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • 详解Java中hashCode的作用

    详解Java中hashCode的作用

    这篇文章主要介绍了详解Java中hashCode的作用的相关资料,需要的朋友可以参考下
    2017-03-03
  • Java 添加超链接到 Word 文档方法详解

    Java 添加超链接到 Word 文档方法详解

    这篇文章主要介绍了Java 添加超链接到 Word 文档方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-07-07
  • Java基于Tcp的基础聊天功能实例

    Java基于Tcp的基础聊天功能实例

    这篇文章主要介绍了Java基于Tcp的基础聊天功能,结合实例形式分析了java基于tcp协议的数据传输实现聊天功能相关操作技巧,需要的朋友可以参考下
    2020-01-01
  • mac 安装java1.8的过程详解

    mac 安装java1.8的过程详解

    这篇文章主要介绍了mac 安装java1.8,包括下载过程及配置环境相关知识介绍,本文结合实例代码介绍的非常详细,需要的朋友可以参考下
    2023-09-09

最新评论