Java 有没有办法在Spring(启动)中使用@RequestMapping和@PathVariable来捕获变量路径?
我正在寻找一种捕获任何URL的方法,例如:Java 有没有办法在Spring(启动)中使用@RequestMapping和@PathVariable来捕获变量路径?,java,spring,spring-mvc,spring-boot,Java,Spring,Spring Mvc,Spring Boot,我正在寻找一种捕获任何URL的方法,例如: mydomain.com/first/second/third mydomain.com/first/second/third/fourth mydomain.com/first/ 并且能够在我的控制器中的单个方法中捕获它,并使用路径构建一个字符串,如: for (String pathVar : pathVariableArray){ stringToBuild += pathVar + '.' } 并得到以下结果: string
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."
有办法吗?我不想为不同长度的路径编写不同的方法
@RequestMapping("/**")
public void method(HttpServletRequest request) {
String stringToBuild = request.getServletPath().replace("/", ".") + ".";
有关其他映射方法,请参见
如果路径以/
结尾,您可能需要更加复杂,以避免在末尾出现双
有关其他映射方法,请参见
如果路径以
/
结尾,您可能需要更加复杂,以避免在结尾出现双重
,您的回答确实有帮助,但我需要做一点小小的更正。因为您使用的是通配符,所以必须使用getServletPath而不是getPathInfo,否则会得到一个空值。您的回答确实有帮助,但我需要做一点更正。因为您使用的是通配符,所以必须使用getServletPath而不是getPathInfo,否则将得到一个空值。