springboot 拦截器Interceptor 实现

1.编写拦截器

    implements HandlerInterceptor


public class AuthorityInterceptor implements HandlerInterceptor {

    /*
    进入Controller层之前调用;
    返回值为true,调用Controller层的方法;
    返回值为false,不再进入Controller层,重写response,返回到页面。
     */
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        
        log.info("preHandle");

        
        return true;
    }

    //Controller层处理完成之后调用,与preHandle方法相对应
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        log.info("postHandle");
    }

    /*
    所有请求处理完成之后调用。
    例如:前后端不分离的项目,当ModelAndView返回到前端页面并展示出来之后,才调用此方法
     */
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        log.info("afterCompletion");
    }
}

2,注册

@Configuration
implements WebMvcConfigurer 
.addPathPatterns("/manage/**")
@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new AuthorityInterceptor()).addPathPatterns("/manage/**");
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章