Spring RequestMapping多个路径,确定正在调用哪个路径?

时间:2018-09-09 10:39:52

标签: java spring spring-mvc

所以我有一个@RequestMapping(value = { "/something", "/otherThing" })的控制器

我似乎无法弄清楚如何在控制器内部确定当前正在服务的路径之一,“某物”还是“另一物”。

在我的情况下,关闭控制器并制作两个单独的控制器不是一个选择。

有什么想法可以确定控制器方法中提供的路径吗?

2 个答案:

答案 0 :(得分:0)

您可以使用以下代码获取网址,并从中获取路径

URL url = new URL(request.getRequestURL().toString());
String path = url.getPath();

您可以检查此路径并在逻辑中使用它

希望它对您的感觉有帮助。

答案 1 :(得分:0)

@RequestMapping(value = { "/something", "/otherThing" })
public void polymorpHandlerMethod(HttpServletRequest request) {
    if (request.getContextPath().startsWith("/something")) {
        // do stuff
    } else if (request.getContextPath().startsWith("/otherThing")) {
        // do more stuff
    }
}