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的一些学习笔记,如有错漏,欢迎大神拍砖。