缩小Spring MVC基于注释的控制器和@RequestMapping的问题

时间:2009-05-20 01:19:36

标签: java spring spring-mvc annotations

考虑一下这个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匹配。

但实际上第一种方法被调用了。有人知道为什么吗?

1 个答案:

答案 0 :(得分:5)

这闻起来像个臭虫。如果将method = GET添加到第二个处理程序,它将按预期工作,这就是解决方法。

我已经就此提交了一份错误报告,希望它能得到解决。

http://jira.springframework.org/browse/SPR-5772