考虑一下这个Spring MVC控制器:
@Controller
@RequestMapping("/test*")
public class TestController {
@RequestMapping(method = RequestMethod.GET)
public void doStuff(Model model){
...
}
@RequestMapping(params = "myParam")
public void doStuff(@RequestParam("myParam") int myParam, Model model){
...
}
}
当我把它放到我的浏览器中时:
mySite.com/test.html?myParam=1
我预计会出现AmbiguousHandlerMappingException等,因为这两种方法似乎都与URL匹配。
但实际上第一种方法被调用了。有人知道为什么吗?
答案 0 :(得分:5)
这闻起来像个臭虫。如果将method = GET添加到第二个处理程序,它将按预期工作,这就是解决方法。
我已经就此提交了一份错误报告,希望它能得到解决。