Spring Boot (二十四)——注册拦截器

在springboot中使用拦截器有两个步骤:
1、自定义拦截器类,实现HandlerInterceptor接口
2、注册拦截器

自定义拦截器类

public class MyInterceptor implements HandlerInterceptor {
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        System.out.println("preHandle");
        return true;
    }

    @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 MvcConfig implements WebMvcConfigurer {
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(myInterceptor()).addPathPatterns("/**"); //拦截所路径
    }
    @Bean
    MyInterceptor myInterceptor(){
        return new MyInterceptor();
    }
}

当然,如果有多个拦截器也可以注册多个。

测试

创建一个controller:

@RestController
public class HelloController {
    @RequestMapping("/hello")
    public String hello(){
        return "hello";
    }
}


控制台输出如下:
在这里插入图片描述

发布了60 篇原创文章 · 获赞 0 · 访问量 576

猜你喜欢

转载自blog.csdn.net/weixin_44075963/article/details/103924822