Spring Boot 配置拦截器

🎈博客主页:🌈我的主页🌈
🎈欢迎点赞 👍 收藏 🌟留言 📝 欢迎讨论!👏
🎈本文由 【泠青沼~】 原创,首发于 CSDN🚩🚩🚩
🎈由于博主是在学小白一枚,难免会有错误,有任何问题欢迎评论区留言指出,感激不尽!🌠个人主页



🌟 一、拦截器功能

  • 日志记录
  • 权限检查
  • 性能监控

🌟 二、定义拦截器

首先定义一个拦截器,之后再进行配置

🌟🌟 2.1、MyIntercepter类

public class MyIntercepter implements HandlerInterceptor {
    //方法返回False,请求将不会继续进行
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("preHandle");
        return true;
    }

    //Controller执行之后被调用
    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
        System.out.println("postHandle");
    }

    //preHandle方法返回true后,afterCompletion才会执行
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
        System.out.println("afterCompletion");
    }
}

🌟🌟 2.2、MyWebMvcConfig类

@Configuration
public class MyWebMvcConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(new MyIntercepter())
        		//拦截所有路径的请求
                .addPathPatterns("/**")
                //放行/hello的请求
                .excludePathPatterns("/hello");
    }
}

🌟🌟 2.3、测试类

@RestController
public class HelloController {
    @GetMapping("/hello")
    public void getHello1(){
        System.out.println("hello1");
    }
    @GetMapping("/hello1")
    public void getHello2(){
        System.out.println("hello2");
    }
}

访问请求/hello1时:
在这里插入图片描述
访问请求/hello时:
在这里插入图片描述


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值