Package org.aoju.bus.starter.wrapper
Class GenieWrapperHandler
java.lang.Object
org.aoju.bus.starter.wrapper.GenieWrapperHandler
- All Implemented Interfaces:
org.springframework.web.servlet.HandlerInterceptor
@Component
@ConditionalOnWebApplication(type=SERVLET)
public class GenieWrapperHandler
extends Object
implements org.springframework.web.servlet.HandlerInterceptor
允许定制处理程序执行链的工作流,可以注册任何数量的现有或自定义拦截器
对于某些处理程序组,添加常见的预处理行为不需要修改每个处理程序实现
- Since:
- Java 17+
- Version:
- 6.5.0
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidafterCompletion(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler, Exception exception) 完成请求处理后回调,将调用处理程序执行的任何结果, 因此允许进行适当的资源清理等 注意:只有在拦截器的preHandle方法返回true与postHandle方法一样,将在每个方法上调用该方法, 在链中的拦截器的顺序是相反的,所以第一个拦截器是最后调用的voidpostHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler, org.springframework.web.servlet.ModelAndView modelAndView) 拦截处理程序的执行 实际上是在HandlerAdapter之后调用的 调用处理程序,但在DispatcherServlet呈现视图之前 可以通过给定的ModelAndView向视图公开额外的模型对象 DispatcherServlet在一个执行链中处理一个处理程序,由 任意数量的拦截器,处理程序本身在最后 使用这种方法,每个拦截器可以对一个执行进行后处理, 按执行链的相反顺序应用booleanpreHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler) 业务处理器处理请求之前被调用,对用户的request进行处理,若返回值为true, 则继续调用后续的拦截器和目标方法;若返回值为false, 则终止请求; 这里可以加上登录校验,权限拦截、请求限流等
-
Constructor Details
-
GenieWrapperHandler
public GenieWrapperHandler()
-
-
Method Details
-
preHandle
public boolean preHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler) 业务处理器处理请求之前被调用,对用户的request进行处理,若返回值为true, 则继续调用后续的拦截器和目标方法;若返回值为false, 则终止请求; 这里可以加上登录校验,权限拦截、请求限流等- Specified by:
preHandlein interfaceorg.springframework.web.servlet.HandlerInterceptor- Parameters:
request- 当前的HTTP请求response- 当前的HTTP响应handler- 执行的处理程序- Returns:
- 如果执行链应该继续执行, 则为:true 否则:false
-
postHandle
public void postHandle(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler, org.springframework.web.servlet.ModelAndView modelAndView) 拦截处理程序的执行 实际上是在HandlerAdapter之后调用的 调用处理程序,但在DispatcherServlet呈现视图之前 可以通过给定的ModelAndView向视图公开额外的模型对象 DispatcherServlet在一个执行链中处理一个处理程序,由 任意数量的拦截器,处理程序本身在最后 使用这种方法,每个拦截器可以对一个执行进行后处理, 按执行链的相反顺序应用- Specified by:
postHandlein interfaceorg.springframework.web.servlet.HandlerInterceptor- Parameters:
request- 当前的HTTP请求response- 当前的HTTP响应handler- 执行的处理程序modelAndView- 处理程序返回的{code ModelAndView} 也可以是null)
-
afterCompletion
public void afterCompletion(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, Object handler, Exception exception) 完成请求处理后回调,将调用处理程序执行的任何结果, 因此允许进行适当的资源清理等 注意:只有在拦截器的preHandle方法返回true与postHandle方法一样,将在每个方法上调用该方法, 在链中的拦截器的顺序是相反的,所以第一个拦截器是最后调用的- Specified by:
afterCompletionin interfaceorg.springframework.web.servlet.HandlerInterceptor- Parameters:
request- 当前的HTTP请求response- 当前的HTTP响应handler- 执行的处理程序exception- 处理程序执行时抛出异常
-