Spring 如何在控制器中注入HttpServletRequest属性(在拦截器中设置)?

Spring 如何在控制器中注入HttpServletRequest属性(在拦截器中设置)?,spring,rest,spring-mvc,spring-boot,Spring,Rest,Spring Mvc,Spring Boot,我想在所有请求到达控制器之前为它们添加一个属性 我使用的是: @Component public class SessionValidatorInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception

我想在所有请求到达控制器之前为它们添加一个属性

我使用的是:

@Component
public class SessionValidatorInterceptor implements HandlerInterceptor {

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler)
        throws Exception {
    .... some code ....
    request.setAttribute("validRequest","true");
    .... more code ...
    return true;
}
现在,要在我的rest控制器中获取此属性,我将执行以下操作:

public ResponseEntity<?> someMethod(HttpServletRequest request){
    request.getAttribute("validSession");
    ...
public responseEntitysomethod(HttpServletRequest){
request.getAttribute(“validSession”);
...
我的问题是,我可以像@RequestParam(“validSession”)或@PathVariable或其他什么一样更优雅地执行此操作吗? 春天能帮我吗


感谢您的帮助。

只需使用
@RequestAttribute
像这样

public ResponseEntity<?> someMethod(HttpServletRequest request,
@RequestAttribute("validSession") String xyz){
}
public responseEntitysomethod(HttpServletRequest,
@RequestAttribute(“validSession”)字符串(xyz){
}

因为Denim先生没有发布答案,我想为什么不是我。^ ^ ^

只需使用
@RequestAttribute
像这样

public ResponseEntity<?> someMethod(HttpServletRequest request,
@RequestAttribute("validSession") String xyz){
}
public responseEntitysomethod(HttpServletRequest,
@RequestAttribute(“validSession”)字符串(xyz){
}

因为Denim先生没有发布答案,我想为什么不是我。^ ^ ^

在春季4.3中,添加了
@RequestAttribute
注释就是为了这个

public void yourMethod(@RequestAttribute("validRequest") boolean valid)
像这样的事情应该会奏效


如果您使用的是Spring的早期版本,您可以实现自己的版本来执行相同的操作。

在Spring 4.3中,
@RequestAttribute
注释就是为此添加的

public void yourMethod(@RequestAttribute("validRequest") boolean valid)
像这样的事情应该会奏效


如果您使用的是Spring的早期版本,您可以实现自己的功能。

如何
@RequestAttribute
(从Spring 4.3开始提供)。哇。我有多笨?谢谢@M.Deinum。请作为答案发布,以便我可以接受。:)如何
@RequestAttribute
(从Spring 4.3开始提供).Wow.我有多蠢?谢谢@M.Deinum。请作为答案发布,以便我可以接受。:)谢谢。我使用的是当前的spring版本,所以工作起来很有魅力!:)谢谢。我使用的是当前的spring版本,所以工作起来很有魅力!:)