这是我的@RequestMapping
注释:
@RequestMapping({"/loginBadCredentials", "/loginUserDisabled", "/loginUserNumberExceeded"})
public String errorLogin(...){
...
}
在方法 errorLogin 中,有没有办法知道三个网址中的哪一个被叫做#34;?
答案 0 :(得分:3)
添加HttpServletRequest
作为参数,并使用它来查找当前请求路径。
更新:Spring还提供RequestContextHolder
:
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
String currentReqUri = attributes.getRequest().getRequestURI();
在我看来,第一种方法更好,更可测试。
答案 1 :(得分:3)
你可以将HttpServletRequest注入方法参数,然后获取被调用的uri。
1024
答案 2 :(得分:1)
最简单的方法是注入HttpServletRequest并获取uri:
@RequestMapping({"/loginBadCredentials", "/loginUserDisabled", "/loginUserNumberExceeded"})
public String errorLogin(HttpServletRequest request) {
String uri = request.getRequestURI();
// switch on uri what you need to do
}