Spring MVC:如何在控制器路径之后获取剩余路径?

时间:2010-12-27 16:41:18

标签: java spring spring-mvc

  

可能重复:
  spring 3 RequestMapping get path value

我花了一个多小时试图找到这个问题的答案,这似乎应该反映一个常见的用例,但我无法弄明白!

基本上我正在使用Spring MVC编写一个文件服务控制器。 URL的格式为http://www.bighost.com/serve/the/path/to/the/file.jpg,其中“/ serve”之后的部分是所请求文件的路径,该文件可能具有任意数量的路径段。我有一个像这样的控制器:

@Controller
class ServerController {
    @RequestMapping(value = "/serve/???")
    public void serve(???) {
    }
}

我想弄清楚的是:我用什么代替“???”使这项工作?

我有两个关于如何运作的理论。

第一个理论是我可以取代第一个“???”在RequestMapping中,路径变量占位符具有一些特殊的语法,意思是“捕获到路径的末尾”。如果常规占位符看起来像“{path}”那么也许我可以使用“{path:**}”或“{path:/}”或类似的东西。然后我可以使用@PathVariable注释来引用第二个“???”中的路径变量。

另一个理论是我可以取代第一个“???”用“**”(匹配任何东西),Spring会给我一个API来获取路径的其余部分(匹配“**”的部分)。但我找不到这样的API。

感谢您提供的任何帮助!

0 个答案:

没有答案