拦截器简概
核⼼接⼝
-
HandlerInteceptor
- boolean preHandle()
- void postHandle()
- void afterCompletion()
针对 @ResponseBody 和 ResponseEntity 的情况
- ResponseBodyAdvice
针对异步请求的接⼝
-
AsyncHandlerInterceptor
- void afterConcurrentHandlingStarted()
拦截器的配置⽅式
常规⽅法
- WebMvcConfigurer.addInterceptors()
Spring Boot 中的配置
- 创建⼀个带 @Configuration 的 WebMvcConfigurer 配置类
- 不能带 @EnableWebMvc(想彻底⾃⼰控制 MVC 配置除外)
如果你想保留那些Spring Boot MVC定制,并做更多的MVC定制(拦截器、格式化器、视图控制器和其他功能),你可以添加你自己的WebMvcConfigurer类型的@Configuration类,但不需要@EnableWebMvc。
拦截器
官方文档地址:https://do