您当前的位置: 首页 >  spring

梁云亮

暂无认证

  • 2浏览

    0关注

    1211博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

SpringBoot 自定义拦截器

梁云亮 发布时间:2020-06-04 12:40:04 ,浏览量:2

第一步:创建SpringBoot项目,添加依赖:

    org.springframework.boot
    spring-boot-starter-web

第二步:自定义拦截器
public class MyHandlerInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("preHandle:请求前调用");
        return true;//返回false则请求中断
    }
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("postHandle:请求后调用");
    }
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("afterCompletion:请求调用完成后回调的方法,即在视图渲染完成后回调");
    }
}
第三步:配置拦截器
@Configuration
public class WebConfigurer implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        MyHandlerInterceptor myHandlerInterceptor = new MyHandlerInterceptor();
        //如果有多个拦截器的话,添加顺序就是拦截顺序
        registry.addInterceptor(getHandlerInterceptor())
                .addPathPatterns("/**");
        WebMvcConfigurer.super.addInterceptors(registry);
    }
    @Bean
    public static HandlerInterceptor getHandlerInterceptor() {
        return new MyHandlerInterceptor();
    }
}
第四步:自定义Controller
@RestController
public class DispatcherController {
    @RequestMapping("/fun")
    public void fun() {
        System.out.println("fun");
    }
}

部署项目,浏览器中访问fun 在这里插入图片描述

关注
打赏
1665409997
查看更多评论
立即登录/注册

微信扫码登录

0.0779s