restful风格中,后端接收同一属性的多个值,为什么用数组接收不用加@RequestParam,而用List接收要加?
时间: 2024-05-07 19:22:27 浏览: 103
jquery post方式传递多个参数值后台以数组的方式进行接收
在RESTful API中,如果后端接收同一属性的多个值,可以使用数组或集合(List)来接收。
当使用数组来接收时,Spring MVC会将请求中同名的参数值封装到数组中,而不需要使用@RequestParam注解来显式指定参数名。
例如,如果请求中包含多个同名参数,如:
```
GET /api/users?status=active&status=inactive
```
后端可以使用数组来接收:
```java
@GetMapping("/api/users")
public List<User> getUsersByStatus(String[] status) {
// ...
}
```
而使用集合(List)来接收时,需要使用@RequestParam注解来显式指定参数名,例如:
```java
@GetMapping("/api/users")
public List<User> getUsersByStatus(@RequestParam("status") List<String> statusList) {
// ...
}
```
这是因为Spring MVC默认情况下只会将请求参数绑定到基本数据类型和字符串类型的方法参数上,而集合(List)类型需要使用@RequestParam注解来显式指定参数名。
阅读全文