编辑:以下代码确实有效。希望这仍然可以作为一个例子。
有没有办法为同一个URL编写两种不同的控制器方法,一种处理正常请求,另一种处理发布请求?像这样:
@RequestMapping("/url")
public String requestWithoutData() {
return "view";
}
@RequestMapping(value="/url", method=RequestMethod.POST)
public String requestWithData(@ModelAttribute("foo") String foo) {
System.out.println(foo);
return "view";
}
当我运行类似于上面的代码时,它总是默认为requestWithoutData方法。如何让春天区分两者?我知道我可以在if语句中使用一种方法,但这种方式似乎更好。提前谢谢!
答案 0 :(得分:0)
是的,您可以使用相同网址但具有不同RequestMethod的两种方法。在第一种方法中,您需要具有方法属性。
@RequestMapping("/url", method = RequestMethod.GET)
public String requestWithoutData() {
return "view";
}
@RequestMapping(value="/url", method=RequestMethod.POST)
public String requestWithData(@ModelAttribute("foo") String foo) {
System.out.println(foo);
return "view";
}