【发布时间】:2014-03-15 01:02:42
【问题描述】:
我有一个使用以下 RequestMapping 运行的现有 Spring MVC 服务。
@RequestMapping(value = "{user}/**", method = RequestMethod.GET)
我现在需要使用以下 RequestMapping 向同一个控制器添加一个新方法。
@RequestMapping(value = "api/{user}/**", method = RequestMethod.GET)
当我针对新 URL 进行测试时,Spring 总是选择第一个函数,这样 第二个功能无法访问。
无论如何我可以让 Spring 使用我的新“api”方法吗?我能想到的唯一选择是在我的 web.xml 中创建一个新的 Java servlet,但我想做一些更简单的事情。我确实尝试过使用@Controller 和@Controller("api") 制作两个不同的控制器,但这并没有解决问题。
【问题讨论】:
-
改变方法定义的顺序有帮助吗?
-
我不认为这很重要,但我只是尝试了一下,没有任何区别。
-
我使用的控制器以“/”开始 @RequestMapping 值。所以我希望看到@RequestMapping(value = "/api...
-
@user636334,我对这种可能的解决方案的可能性感到兴奋,但它没有任何区别。
-
决定使用什么处理程序编码在
org.springframework.util.AntPathMatcher.AntPatternComparator.compare(String, String)
标签: java spring spring-mvc