Spring MVC @RequestParam对象列表
问题内容:
我想创建一个页面,一个人可以看到一个用户列表,并且每个用户旁边都有复选框,该人可以单击以将其删除。
在使用REST API的MVC中,我想将User
对象列表发送到REST API。
在可@RequestParam
注解支持?
例如:
@RequestMapping(method = RequestMethod.DELETE, value = "/delete")
public @ResponseBody Integer delete(
@RequestParam("users") List<Users> list) {
Integer deleteCount = 0;
for (User u : list) {
if (u != null) {
repo.delete(u);
++deleteCount;
}
}
return deleteCount;
}
在MVC客户端中,URL为:
List list = new ArrayList<User>();
....
String url = "http://restapi/delete?users=" + list;
问题答案:
请求参数是String到String的Multimap。您不能将复杂对象作为请求参数传递。
但是,如果您只是传递了应该起作用的用户名-
@RequestParam("users") List<String> list
但是我认为最好只使用请求主体传递信息。