SpringMVC中的方法处理-相同url路径
我正在使用SpringMVC。 我有一个具有以下url的人员列表: 我的控制器:SpringMVC中的方法处理-相同url路径,url,spring-mvc,path,Url,Spring Mvc,Path,我正在使用SpringMVC。 我有一个具有以下url的人员列表: 我的控制器: @Controller @RequestMapping("/persons") public class PersonController { @RequestMapping(value="/list", method=RequestMethod.GET) public String allPersons(Model model){ .... } 现在,我想添加一个特定人的视图,url如下:
@Controller
@RequestMapping("/persons")
public class PersonController {
@RequestMapping(value="/list", method=RequestMethod.GET)
public String allPersons(Model model){
....
}
现在,我想添加一个特定人的视图,url如下:
如果我尝试使用url:
@RequestMapping(value="/{firstname}", method=RequestMethod.GET)
public String getPersonInfo(@PathVariable("fname") String firstname)
....
会有冲突,因为有两个GET URL具有相同的路径,对吗?如何在不更改url的情况下解决此问题?我建议做一些不同的事情。例如,使用以下URL:
@Controller
public class PersonController {
@RequestMapping(value="/persons", method=RequestMethod.GET)
public String allPersons(Model model) {
...
}
@RequestMapping(value="/person/{firstname}", method=RequestMethod.GET)
public String getPersonInfo(@PathVariable("fname") String firstname) {
...
}
}
你不必把@请求映射放在你的控制器上(虽然你可以)。Grzegorz的建议是有效的,你应该考虑一下。但是,为了回答您的问题,您提供的代码示例应该可以很好地工作,因为更具体的匹配(具有更少的模式)比不太具体的匹配更好
因此,如果传入的URL是/persons/list,则应调用allPersons()方法