Spring REST针对一个URL但不同http方法的多个控制器

Spring REST针对一个URL但不同http方法的多个控制器,spring,rest,spring-mvc,controller,restful-architecture,Spring,Rest,Spring Mvc,Controller,Restful Architecture,我目前有一个控制器,用于处理URL组的GET和POST: @Controller public class RestGroups { ... @RequestMapping(method = RequestMethod.GET, value = "/groups") @ResponseBody public GroupsDto groups() { return new GroupsDto(getGroups()); } @Reque

我目前有一个控制器,用于处理URL组的GET和POST:

@Controller
public class RestGroups {

...

    @RequestMapping(method = RequestMethod.GET, value = "/groups")
    @ResponseBody
    public GroupsDto groups() {
        return new GroupsDto(getGroups());
    }

    @RequestMapping(method = RequestMethod.POST, value = "/groups", headers = "Accept=application/xml")
    @ResponseBody
    public GroupsDto postGroup(@RequestBody GroupDto groupDto) {
        groupSaver.save(groupDto.createEntity());
        return groups();
    }
现在我想有两个控制器,都为相同的URL分配,但每个控制器用于不同的方法,如下所示:

@Controller
public class GetGroups {

...

    @RequestMapping(method = RequestMethod.GET, value = "/groups")
    @ResponseBody
    public GroupsDto groups() {
        return new GroupsDto(getGroups());
    }

...

}


@Controller
public class PostGroup {

...


    @RequestMapping(method = RequestMethod.POST, value = "/groups", headers = "Accept=application/xml")
    @ResponseBody
    public GroupsDto postGroup(@RequestBody GroupDto groupDto) {
        groupSaver.save(groupDto.createEntity());
        return groups();
    }

...
}

可能吗?因为现在我得到了一个Spring异常,一个URL不能由两个不同的控制器处理。这个问题有解决办法吗?我真的很想将这两个完全不同的操作分成两个独立的类。

这个限制在Spring3.1中通过其新的HandlerMethod抽象得到了解决。你必须升级到3.1平方米。如果您需要一个示例,请告诉我。

此限制已在Spring 3.1中通过其新的HandlerMethod抽象解决。你必须升级到3.1平方米。如果你需要一个例子,请告诉我。

3年后,我也有同样的需要,我找不到任何关于如何实现这一点的例子。你能举个例子吗?Hi@Michal请分享这个例子。3年后我也有同样的需求,我找不到任何关于如何实现这个的例子。你能举个例子吗?嗨@Michal请分享这个例子。