@RequestMapping("/arrayParam")
@ResponseBody
public String arrayParam(String[] likes){
System.out.println("数组参数传递 likes ==> "+ Arrays.toString(likes));
return "{'module':'array param'}";
}
只需要往集合里面传likes就可以了
但是如果是list集合
@RequestMapping("/listParam")
@ResponseBody
public String listParam(List<String> likes){
System.out.println("集合参数传递 likes ==> "+ likes);
return "{'module':'list param'}";
}
如果是数组的话,SpringMvc底层帮你创建了个动态数组,然后传过去,但是List是个接口是没有实现类的,但其实SpringMvc底层多数是创建一个ArraysList集合然后接口多态,帮你传给list,需要注意的一点是还需要一个@RequestParm注解
我的理解:当请求行传进了参数,但是传入的是list集合,因为是个接口创建不了实例,所以这时候底层是不知道要不要把数据收集起来的,但是当有@RequestParm注解的时候就会将请求行的参数收集起来,收集起来以后,SpringMvc才会创建一个ArraysList的实现类来存放这些数据。