Java 多路径控制器方法中的路径确定

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

在SpringMVC的控制器中定义了多路由方法

@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变量将非常简单和容易