Spring RequestMapping нескольких путей, определить, какой из них вызывается? - PullRequest
0 голосов
/ 09 сентября 2018

Итак, у меня есть контроллер с @RequestMapping(value = { "/something", "/otherThing" })

Я просто не могу понять, как я могу определить в моем контроллере, какой из путей обслуживается прямо сейчас: "что-то" или "другой предмет".

Разбить контроллер и сделать 2 отдельных в моем случае не вариант.

Какие-нибудь идеи, как я мог бы определить путь, обслуживаемый в методе контроллера?

Ответы [ 2 ]

0 голосов
/ 09 сентября 2018
@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
    }
}
0 голосов
/ 09 сентября 2018

Вы можете получить URL с помощью приведенного ниже кода и получить путь от него

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

Вы можете проверить этот путь и использовать его в своей логике

Надеюсь, это поможет вашему сенарио.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...