我正在寻找一种方法来捕获任何网址,例如:
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."
有什么办法吗?我不想为不同长度的路径编写各种方法。
答案 0 :(得分:1)
@RequestMapping("/**")
public void method(HttpServletRequest request) {
String stringToBuild = request.getServletPath().replace("/", ".") + ".";
有关其他映射方法,请参阅Spring boot - Controller catching all URLs。
如果路径以.
结尾,您可能需要更复杂,以避免在结尾处使用双/
。