Spring REST针对一个URL但不同http方法的多个控制器
我目前有一个控制器,用于处理URL组的GET和POST: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
@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请分享这个例子。