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版本,所以工作起来很有魅力!:)