Interceptor 拦截器

用于在程序执行过程中拦截或截取特定的操作或事件。它可以在操作发生之前、之后进行自定义的处理。

注册配置拦截器

@Slf4j
@Component
public class DemoInterceptor implements HandlerInterceptor {

@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
log.info("接口执行前执行");
return true;
}

@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
log.info("接口执行后执行");
}

@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
log.info("视图渲染后执行");
}
}

拦截器路径配置

@Configuration
public class InterceptorConfig implements WebMvcConfigurer {
//自定义的拦截器对象
@Autowired
private DemoInterceptor demoInterceptor;

@Override
public void addInterceptors(InterceptorRegistry registry) {
//添加拦截对象
registry.addInterceptor(demoInterceptor)
//添加拦截的接口
.addPathPatterns("/demo/*")
//添加不拦截的接口
.excludePathPatterns("/demo/get");
}
}
posted @ 2024-12-16 10:29  客至在水一方  阅读(20)  评论(0)    收藏  举报