一尘不染

Spring MVC可以处理多值查询参数吗?

spring-mvc

收到此http://myserver/find-by-phones?phone=123&phone=345请求后,是否可以处理以下内容:

@Controller
public class Controller{
    @RequestMapping("/find-by-phones")
    public String find(List<String> phones){
       ...
    }
}

Spring MVC可以将多值参数转换phonesStrings(或其他对象)列表吗?

谢谢。

亚历克斯


阅读 319

收藏
2020-06-01

共1个答案

一尘不染

中的“数组” @RequestParam用于绑定多个相同名称的参数:

phone=val1&phone=val2&phone=val3

--

public String method(@RequestParam(value="phone") String[] phoneArray){
    ....
}

然后可以使用Arrays.asList(..)方法将其转换为列表

编辑1:

正如emdadul所建议的,spring的最新版本也可以像下面这样:

public String method(@RequestParam(value="phone", required=false) List<String> phones){
    ....
}
2020-06-01