SpringMVC的Controller中已经有了@RequestMapping(value = "detail.do", method = RequestMethod.GET)的方法,并且在web.xml中也配置了DispatcherServlet匹配<url-pattern>*.do</url-pattern>。
有需要对外暴露Rest接口,URL格式如/API/product/query。
于是新增了DispatcherServlet匹配<url-pattern>/API/*</url-pattern>来拦截,结果死活拦截不到。
后来得知需要将Controller中的@RequestMapping(value = "/API/product/query", method = RequestMethod.GET)中的"/API"去掉才行,花了我两三个小时。
另外,即使是value = "/API/product/query", <url-pattern>是精确匹配的话(<url-pattern>/API/product/query</url-pattern>),也是可以拦截到的。
这里可以理解为spring mvc 的dispatcherServlet这里的url-pattern也运用了restful的url映射。。。
转载至:http://blog.csdn.net/lxb_champagne/article/details/13625793#reply
时间: 2024-11-09 00:58:13