Spring 4 可选<List<String>> @RequestParam

Bax*_*Bax 5 spring spring-mvc spring-test spring-web

使用java.util.Optional作为spring控制器请求参数

List<String>对于简单值(int、String 等),它按预期工作,但对于类型为or的参数,String[]我为其传递多个值:

    mockMvc.perform(get("/get").param("param", "value1", "value2"))
Run Code Online (Sandbox Code Playgroud)

它总是只选择传递的值中的一个值。

@RequestMapping(value = "/get", method = RequestMethod.GET)
public Object get(@RequestParam(name = "param") Optional<String[]> array) {
    // the array will have just 1 element : 'value1'
}
Run Code Online (Sandbox Code Playgroud)

kho*_*g07 4

此问题将在明年春季 Web 版本 4.3 中解决https://jira.spring.io/browse/SPR-13418