Springmvc中参数中直接接收数组或者list,有以下几种方式.
1.使用@RequestBody注解,注入的是BO的对象
如果注入的是BO的对象,controller中直接可以BO接收,POSTMAN 中的body使用的JSON的对象传参
controller:
@RequestMapping("testArrayParam")
public Object testArrayParam(@RequestBody IdWrapper idWrapper) {
System.out.println(JSON.toJSONString(idWrapper));
return "success";
}
POSTMAN:

2.使用@RequestBody注解,注入的是数组或者list
如果注入的是数组或者list,controller中使用数组或者list接收,POSTMAN中的body使用的数组的形式传参
controller:
@RequestMapping("testArrayParam")
public Object testArrayParam(@RequestBody List<Integer> ids) {
System.out.println(JSON.toJSONString(ids));
return "success";
}
POSTMAN:

3.使用@RequestParam注解
如果使用的是@RequestParam注解,在POSTMAN中只能是使用form-data或者x-www-form-urlencoded的形式传参。如果是form-data的形式,默认是使用英文逗号作为数组的分隔,springmvc可以解析成为数组或者list;如果使用x-www-form-urlencoded,则需要定义多个相同的key来指代数组。
controller:
@RequestMapping("testArrayParam")
public Object testArrayParam(@RequestParam List<Integer> ids) {
System.out.println(JSON.toJSONString(ids));
return "success";
}
POSTMAN:
form-data

x-www-form-encoded:

以上是使用springmvc过程中,如果参数接收数组或者list的一些学习笔记,如有错漏,欢迎大神拍砖。
本文详细介绍SpringMVC中接收数组或list参数的三种方法:使用@RequestBody注入BO对象或直接数组/list,以及使用@RequestParam注解配合POSTMAN的form-data或x-www-form-urlencoded传参方式。
参数&spm=1001.2101.3001.5002&articleId=98089067&d=1&t=3&u=23cbfe0e51b746d7b7ebd4dc79948371)
222

被折叠的 条评论
为什么被折叠?



