实现HandlerInterceptor接口
/**
* @Auther: chisj chisj@foxmal.com
* @Date: 2018-12-03 19:09
* @Description:
*/
@Slf4j
public class AuthInterceptor implements HandlerInterceptor {
/**
* 预处理方法,在调用控制器方法之前调用
* @param request
* @param response
* @param handler
* @return
* @throws Exception
*/
@Override
public boolean preHandle(HttpServletRequest request, HttpServletResponse response,
Object handler) throws Exception {
log.info("preHandle is run...");
return true;
}
/**
* 处理后方法,在调用控制器方法之后调用
* @param request
* @param response
* @param handler
* @param modelAndView
* @throws Exception
*/
@Override
public void postHandle(HttpServletRequest request, HttpServletResponse response,
Object handler, @Nullable ModelAndView modelAndView) throws Exception {
log.info("postHandle is run...");
}
/**
* 整个请求处理完毕调用
* @param request
* @param response
* @param handler
* @param ex
* @throws Exception
*/
@Override
public void afterCompletion(HttpServletRequest request, HttpServletResponse response,
Object handler, @Nullable Exception ex) throws Exception {
log.info("afterCompletion is run...");
}
}
实现WebMvcConfigurer接口
/**
* @Auther: chisj chisj@foxmal.com
* @Date: 2018-12-03 19:02
* @Description:
*/
@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
@Bean
public AuthInterceptor authInterceptor() {
return new AuthInterceptor();
}
@Override
public void addInterceptors(InterceptorRegistry registry) {
// 添加拦截器
registry.addInterceptor(authInterceptor()).addPathPatterns("/**");
}
}
测试结果
2018-12-04 09:52:00.439 INFO 12104 --- [nio-8989-exec-1] o.a.c.c.C.[.[localhost].[/WeightSystem] : Initializing Spring FrameworkServlet 'dispatcherServlet'
2018-12-04 09:52:00.440 INFO 12104 --- [nio-8989-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization started
2018-12-04 09:52:00.457 INFO 12104 --- [nio-8989-exec-1] o.s.web.servlet.DispatcherServlet : FrameworkServlet 'dispatcherServlet': initialization completed in 17 ms
2018-12-04 09:52:00.462 INFO 12104 --- [nio-8989-exec-1] org.chisj.weight.config.CorsFilter : *********************************过滤器被使用**************************
2018-12-04 09:52:00.466 INFO 12104 --- [nio-8989-exec-1] org.chisj.weight.config.AuthInterceptor : preHandle is run...
pageNum = 1
pageSize = 3
2018-12-04 09:52:00.557 INFO 12104 --- [nio-8989-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Starting...
2018-12-04 09:52:00.697 INFO 12104 --- [nio-8989-exec-1] com.zaxxer.hikari.HikariDataSource : HikariPool-1 - Start completed.
2018-12-04 09:52:00.776 INFO 12104 --- [nio-8989-exec-1] org.chisj.weight.config.AuthInterceptor : postHandle is run...
2018-12-04 09:52:00.777 INFO 12104 --- [nio-8989-exec-1] org.chisj.weight.config.AuthInterceptor : afterCompletion is run...
参考博客
Spring Boot 拦截器无效,不起作用
spring-boot 如何添加拦截器配置(自定义)