我看到了Spring MVC multiple url mapping to the same controller method
所以现在我有一个定义为
的方法@RequestMapping(value = {"/aaa", "/bbb", "/ccc/xxx"}, method = RequestMethod.POST)
public String foo() {
// was it called from /aaa or /bbb
}
在运行时,我想知道是从/aaa
还是/bbb
调用了控制器
答案 0 :(得分:2)
您可以使用HttpServletRequest#getServletPath
,其中:
返回此请求的URL中调用servlet的部分。这个 路径以“ /”字符开头,并包含servlet名称 或servlet的路径,但不包含任何其他路径 信息或查询字符串。
如下:
@RequestMapping(value = {"/aaa", "/bbb", "/ccc/xxx"}, method = RequestMethod.POST)
public String foo(HttpServletRequest request) {
String path = request.getServletPath(); // -> gives "/aaa", "/bbb" or "/ccc/xxx"
}