文章目录
给 Spring Boot 增加一个 拦截器
自定义一个拦截器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
@Slf4j public class HelloInterceptor implements HandlerInterceptor { @Override public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { log.info("preHandle:请求前调用"); //返回 false 则请求中断 return true; } @Override public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception { log.info("postHandle:请求后调用"); } @Override public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception { log.info("afterCompletion:请求调用完成后回调方法,即在视图渲染完成后回调"); } } |
注册这个拦截器
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
@Configuration public class SpringbootConfig implements WebMvcConfigurer { @Bean public HelloInterceptor getHelloInterceptor(){ return new HelloInterceptor(); } @Override public void addInterceptors(InterceptorRegistry registry) { /** * 增加拦截器 */ registry.addInterceptor(getHelloInterceptor()).addPathPatterns("/"); } } |
Controller
1 2 3 4 5 6 7 8 9 10 11 12 |
@Slf4j @RestController public class WebController { @GetMapping(path = "/") public String index(){ log.info("In Web Controller"); return "hello world"; } } |
项目启动

访问路由


听高级的一篇文章