有什么方法可以在Spring(Boot)中使用@RequestMapping和@PathVariable来捕获变量路径吗?

时间:2016-03-21 15:39:08

标签: java spring spring-mvc spring-boot

我正在寻找一种方法来捕获任何网址,例如:

mydomain.com/first/second/third  
mydomain.com/first/second/third/fourth  
mydomain.com/first/

并且能够在我的控制器中以单个方法捕获它并使用该路径构建一个字符串,如:

for (String pathVar : pathVariableArray){  
  stringToBuild += pathVar + '.'
}

并获得以下结果:

stringToBuild = "first.second.third."  
stringToBuild = "first.second.third.fourth."  
stringToBuild = "first."

有什么办法吗?我不想为不同长度的路径编写各种方法。

1 个答案:

答案 0 :(得分:1)

@RequestMapping("/**")
public void method(HttpServletRequest request) {
    String stringToBuild = request.getServletPath().replace("/", ".") + ".";

有关其他映射方法,请参阅Spring boot - Controller catching all URLs

如果路径以.结尾,您可能需要更复杂,以避免在结尾处使用双/