从C#到Java(Spring拦截器HandlerInterceptor )

Spring自带了一套拦截器HandlerInterceptor,类似AspNet中的Filter。

public class ApiInterceptor implements HandlerInterceptor {
    //请求之前
    @Override
    public boolean preHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o) throws Exception {
        System.out.println("进入拦截器");
        return true;
    }
    //请求时
    @Override
    public void postHandle(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, ModelAndView modelAndView) throws Exception {
 
    }
    //请求完成
    @Override
    public void afterCompletion(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, Object o, Exception e) throws Exception {
 
    }
}

 同时需要在配置类中重写addInterceptors方法

@SpringBootConfiguration
public class WebConfig extends WebMvcConfigurationSupport{
 
    @Override
    protected void addInterceptors(InterceptorRegistry registry) {
        super.addInterceptors(registry);
        registry.addInterceptor(new ApiInterceptor());
    }
}

  

原文地址:https://www.cnblogs.com/LvJiaXuanBlogs/p/10710489.html