之前对于GET请求传递数组参数的情况,处理方式通常是把参数定义为用逗号分隔,在后台用字符串接收,然后把接收到的参数用逗号分隔转换为数组对象。今天偶然间看到了一篇类似的文章,再加上自己的验证测试,得到了两种传参方式,总结如下:
方式一
可以将数组参数传递多次,springmvc会将多个同名参数自动封装成数组或者集合对象,示例如下:
# 请求URL
http://127.0.0.1:8080/getUsers?name=张三&name=李四
# 后台接口代码
@RestController
@RequestMapping("/")
public class SpringMvcController {
@RequestMapping(value = "/getUsers", method = RequestMethod.GET)
# String[] name也可以切换为List<String,String> name
public String getUsers(@RequestParam String[] name) {
return name[0] + " " + name[1];
}
}
方式二、
直接将数组指用逗号分隔,示例如下:
# 请求URL
http://127.0.0.1:8080/getTeachers?name=王五,刘麻子
# 后台接口代码
@RestController
@RequestMapping("/")
public class SpringMvcController {
@RequestMapping(value = "/getTeachers", method = RequestMethod.GET)
# String[] name也可以切换为List<String,String> name
public String getTeachers(@RequestParam String[] name) {
return name[0] + " " + name[1];
}
}
网友评论