将URL的多个级别匹配到RequestMapping中的字符串中

时间:2013-10-14 19:25:23

标签: spring spring-mvc

我正在尝试编写一个基于文件路径发出请求的API。我想像这样做一个请求映射:

@RequestMapping("/home/{path}")

(其中path被映射到String)

问题是{path}变量只匹配URL的单个组件。 所以,如果我请求/home/hello/myfile.jpg,我会得到一个404.我希望将hello / myfile.jpg放入路径字符串中。

1 个答案:

答案 0 :(得分:1)

我认为路径变量无法扩展到路径分隔符。您可以手动执行此操作,例如:

  @Controller
   class HomeController {

        private urlPathHelper = new UrlPathHelper();

        @RequestMapping("/home/**")
        public String test(HttpServletRequest request) {
            String path = urlPathHelper.getLookupPathForRequest(request);

           ....
        }
 }