Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/spring-mvc/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在SpringMVC中绑定2个GET方法并使用@RequestMapping进行区分?_Spring_Spring Mvc - Fatal编程技术网

如何在SpringMVC中绑定2个GET方法并使用@RequestMapping进行区分?

如何在SpringMVC中绑定2个GET方法并使用@RequestMapping进行区分?,spring,spring-mvc,Spring,Spring Mvc,我有两个不同的方法,都有相同的url,但传入的参数不同,我可以使用@RequestMapping正确地映射它们吗 @RequestMapping(value = "/someurl", method = RequestMethod.GET) public ModelAndView methodA ( @RequestParam(value = "param1", required = false) String param1, @RequestParam(value = "par

我有两个不同的方法,都有相同的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
时,才会映射到方法B,并向框架提供如何区分这两个映射的信息,这样在启动时就不会出现任何错误