【SpringBoot】SpringBoot拦截器的配置和注意事项(SDK开发)

注意事项

项目中的拦截器配置也必须是实现接口WebMvcConfigurer,不能继承WebMvcConfigurationSupport类,不然实现接口WebMvcConfiguration类的拦截器蒋不会生效。

启用注解

@Inherited
@Documented
@Configuration
@EnableWebMvc
@Target({
    
    ElementType.TYPE})
@Retention(RetentionPolicy.RUNTIME)
@Import({
    
    xxxxSelector.class, WebMvcConfig.class})
public @interface EnableXXXX {
    
    
}

WebMvcConfig配置

@Configuration
public class WebMvcConfig implements WebMvcConfigurer {
    
    

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
    
    
        registry.addInterceptor(new XXXXInterceptor())
                .addPathPatterns("/**");
    }
}

XXXXInterceptor 实现

public class XXXXInterceptor implements HandlerInterceptor {
    
    

    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
    
    
        // 拦截器的实现
        return true;
    }

    @Override
    public void postHandle(HttpServletRequest request, HttpServletResponse response, Object handler, ModelAndView modelAndView) throws Exception {
    
    
        // 执行完的逻辑
    }

    /** @noinspection NullableProblems*/
    @Override
    public void afterCompletion(HttpServletRequest request, HttpServletResponse response, Object handler, Exception ex) throws Exception {
    
    

 }

猜你喜欢

转载自blog.csdn.net/qq_38428623/article/details/130969480