这是我@RequestMapping
注释:如何知道哪些@RequestMapping的参数是所谓
@RequestMapping({"/loginBadCredentials", "/loginUserDisabled", "/loginUserNumberExceeded"})
public String errorLogin(...){
...
}
里面的方法errorLogin,有没有办法知道哪三个URL的是“叫”?
这是我@RequestMapping
注释:如何知道哪些@RequestMapping的参数是所谓
@RequestMapping({"/loginBadCredentials", "/loginUserDisabled", "/loginUserNumberExceeded"})
public String errorLogin(...){
...
}
里面的方法errorLogin,有没有办法知道哪三个URL的是“叫”?
将HttpServletRequest
添加为您的参数并用它来查找当前请求路径。
更新:Spring还提供RequestContextHolder
:
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
String currentReqUri = attributes.getRequest().getRequestURI();
在我看来,第一种方法是更好一点的可测试性。
您可以将HttpServletRequest注入方法参数,然后获取被调用的uri。
@RequestMapping({"/loginBadCredentials", "/loginUserDisabled", "/loginUserNumberExceeded"})
public String errorLogin(HttpServletRequest request) {
String uri = request.getRequestURI();
// do sth with the uri here
}
谢谢。其实我已经做到了,但我想知道是否有特定的“春季方式”来做到这一点。 – MDP
简单的方法是注入HttpServletRequest和得到URI:
@RequestMapping({"/loginBadCredentials", "/loginUserDisabled", "/loginUserNumberExceeded"})
public String errorLogin(HttpServletRequest request) {
String uri = request.getRequestURI();
// switch on uri what you need to do
}
谢谢。其实我已经做到了,但我想知道是否有特定的“春季方式”来做到这一点。 – MDP
谢谢。其实我已经做到了,但我想知道是否有特定的“春季方式”来做到这一点。 – MDP
啊,我太慢了... –
@MDP看到更新 –