使用java.util.Optional作为弹簧控制器request parameter。
对于简单值(int,String等),它按预期工作,但是对于List<String>
或String[]
类型的参数,我传递了多个值:
mockMvc.perform(get("/get").param("param", "value1", "value2"))
它总是只选择传递的一个值。
@RequestMapping(value = "/get", method = RequestMethod.GET)
public Object get(@RequestParam(name = "param") Optional<String[]> array) {
// the array will have just 1 element : 'value1'
}