如何在Spring MVC中绑定2个GET方法并使用@RequestMapping进行区分?
How to bind 2 GET methods in Spring MVC and distinguish using @RequestMapping?
我有 2 种不同的方法,两者都有相同的 url,但传入的参数集不同,我可以使用 @RequestMapping 正确映射它们吗?
@RequestMapping(value = "/someurl", method = RequestMethod.GET)
public ModelAndView methodA (
@RequestParam(value = "param1", required = false) String param1,
@RequestParam(value = "param2", required = false) String param2) {
return null;
}
@RequestMapping(value = "/someurl", method = RequestMethod.GET)
public ModelAndView methodB (
@RequestParam(value = "array", required = false) String[] array) {
return null;
}
您可以根据请求参数的存在或不存在来缩小映射请求,例如
@RequestMapping(value = "/someurl", method = RequestMethod.GET, params={"!param1", "!param2"})
public ModelAndView methodB (
@RequestParam(value = "array", required = false) String[] array) {
return null;
}
仅当请求中没有 param1
或 param2
时才会映射到 methodB,并将向框架提供如何区分这两个映射的信息,因此您不会启动时出现任何错误
我有 2 种不同的方法,两者都有相同的 url,但传入的参数集不同,我可以使用 @RequestMapping 正确映射它们吗?
@RequestMapping(value = "/someurl", method = RequestMethod.GET)
public ModelAndView methodA (
@RequestParam(value = "param1", required = false) String param1,
@RequestParam(value = "param2", required = false) String param2) {
return null;
}
@RequestMapping(value = "/someurl", method = RequestMethod.GET)
public ModelAndView methodB (
@RequestParam(value = "array", required = false) String[] array) {
return null;
}
您可以根据请求参数的存在或不存在来缩小映射请求,例如
@RequestMapping(value = "/someurl", method = RequestMethod.GET, params={"!param1", "!param2"})
public ModelAndView methodB (
@RequestParam(value = "array", required = false) String[] array) {
return null;
}
仅当请求中没有 param1
或 param2
时才会映射到 methodB,并将向框架提供如何区分这两个映射的信息,因此您不会启动时出现任何错误