这是我的@RequestMapping批注:

  @RequestMapping({"/loginBadCredentials", "/loginUserDisabled", "/loginUserNumberExceeded"})
  public String errorLogin(...){
            ...
        }


在errorLogin方法内部,是否有办法知道三个网址中的哪个被“调用”了?

最佳答案

添加HttpServletRequest作为您的参数,并使用它查找当前的请求路径。

更新:Spring还提供了RequestContextHolder

ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.currentRequestAttributes();
String currentReqUri = attributes.getRequest().getRequestURI();


我认为,第一种方法更好,并且更具可测试性。

关于java - 如何知道@RequestMapping的哪个参数被调用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34919809/

10-10 10:01