1
我現在有一個控制器,它可以同時處理GET和POST的URL組:彈簧安置多個控制器的一個URL,但不同的HTTP方法
@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();
}
現在我想有兩個控制器,這兩個分配給同一網址但每個用於不同的方法,如下所示:
@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不能由兩個不同的控制器處理。有沒有解決這個問題的方法?我真的想將這兩個完全不同的行爲分成兩個單獨的類。
3年後,我有同樣的需求,我找不到任何示例如何實現這一點。你能舉個例子嗎? – Mistic
Hi @Michal請分享這個例子。 –