Spring MVC @RequestParam一个对象列表

我想创建一个页面,其中一个人看到一个用户列表,并且每个人旁边都有一个复选框,该人可以单击以删除它们.

在我的MVC中使用REST API,我想将一个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.您不能将复杂对象作为请求参数传递.

但是,如果您只是传递应该起作用的用户名 – 请参阅how to capture multiple parameters using @RequestParam using spring mvc?

@RequestParam(“users”)List< String>名单

但我认为最好只使用请求体来传递信息.

转载注明原文:Spring MVC @RequestParam一个对象列表 - 代码日志