@RequestParam 前台传数组
时间: 2023-11-03 13:01:17 浏览: 258
@ RequestParam可以用于前台传递数组参数。在后台,可以使用@RequestParam注解来接收前台传递的数组参数。例如,你可以在后台使用@RequestParam("params[]")来接收名为params的数组参数。接收参数的类型可以是String[]或List<String>。如果required属性被设置为false,那么参数是可选的,如果没有传递参数,参数将被设置为null或空的数组。下面是一个示例代码:
```
@RequestMapping(value = "/testRequestParam")
public void testRequestParam(@RequestParam(value = "params[]", required = false) String[] params) {
System.out.println(Arrays.toString(params));
}
```
你可以通过以下方式测试这个接口:
- http://localhost:8080/demo/testRequestParam
- http://localhost:8080/demo/testRequestParam?params[]
- http://localhost:8080/demo/testRequestParam?params[]=1¶ms[]=2
相关问题
@RequestParam多个参数
@RequestParam可以用于接收多个参数,可以是普通元素、数组、集合、对象等等。如果参数是放在请求体中,传入后台的话,那么后台要用@RequestBody才能接收到;如果不是放在请求体中的话,那么后台接收前台传过来的参数时,要用@RequestParam来接收,或则形参前什么也不写也能接收。例如,可以使用@RequestParam(value="userName") String[] userNames来接收多个用户名,也可以使用@RequestParam(value="list") List list来接收一个列表。
@RequestBody和@RequestParam能同时出现吗
可以同时出现。@RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的),而@RequestParam()用于接收请求参数,当同时使用@RequestParam()和@RequestBody时,@RequestParam()指定的参数可以是普通元素、数组、集合、对象等等。即:如果参数时放在请求体中,application/json传入后台的话,那么后台要用@RequestBody才能接收到;如果不是放在请求体中的话,那么后台接收前台传过来的参数时,要用@RequestParam来接收,或则形参前什么也不写也能接收。
阅读全文