Java 多路径控制器方法中的路径确定
在SpringMVC的控制器中定义了多路由方法Java 多路径控制器方法中的路径确定,java,spring,spring-mvc,spring-boot,controller,Java,Spring,Spring Mvc,Spring Boot,Controller,在SpringMVC的控制器中定义了多路由方法 @RequestMapping(value={"/path", "/path2"}, method = RequestMethod.GET) public String MyMethod () { // Determine which route invoked the method return null; } 有没有办法确定哪个路由调用了该方法 感谢您的帮助。我相信您可以使用HttpServletRequest: @RequestMa
@RequestMapping(value={"/path", "/path2"}, method = RequestMethod.GET)
public String MyMethod () {
// Determine which route invoked the method
return null;
}
有没有办法确定哪个路由调用了该方法
感谢您的帮助。我相信您可以使用HttpServletRequest:
@RequestMapping(value={"/path.html", "/path2.html"}, method = RequestMethod.GET)
public String MyMethod (HttpServletRequest request) {
// Determine which route invoked the method
String url = new String(request.getRequestURL());
log.debug("URL: " + url); //use whatever you use to log
return null;
}
我相信您可以使用HttpServletRequest:
@RequestMapping(value={"/path.html", "/path2.html"}, method = RequestMethod.GET)
public String MyMethod (HttpServletRequest request) {
// Determine which route invoked the method
String url = new String(request.getRequestURL());
log.debug("URL: " + url); //use whatever you use to log
return null;
}
您可以使用一个名为getRequestURL()
的方法来检索实际的URL,允许您解析使用的路径
但是,另一种可能性是使用路径变量:
@RequestMapping(value = "/{path}", method = RequestMethod.GET)
public String myMethod(@PathVariable String path) {
// Do stuff with "path"
return null;
}
在本例中,path
变量将包含与@RequestMapping
中给出的路径匹配的任何输入,在本例中,它将是“path”
或“path2”
。但是,这也将允许其他路径变量(“path3”
,例如,…),因此您可能希望在使用之前先对其进行验证。您可以使用它来检索实际的URL,该方法具有一个名为getRequestURL()
的方法,允许您解析使用的路径
但是,另一种可能性是使用路径变量:
@RequestMapping(value = "/{path}", method = RequestMethod.GET)
public String myMethod(@PathVariable String path) {
// Do stuff with "path"
return null;
}
在本例中,
path
变量将包含与@RequestMapping
中给出的路径匹配的任何输入,在本例中,它将是“path”
或“path2”
。但是,这也允许使用其他路径变量(“path3”
,例如,…),因此您可能希望在使用之前先验证它。10x这是有用的10x这是有用的10x我应该弄清楚它。使用path变量将非常简单和容易,我应该已经弄明白了。使用path变量将非常简单和容易