弹簧启动处理程序拦截器



我有一个包含拦截器的弹簧启动应用程序。问题是请求直接击中API而不是拦截器。

这是我的配置类,它注册拦截器。

@Configuration
public class AuthenticationConfiguration extends WebMvcConfigurerAdapter {
    @Autowired
    private AuthorizeInterceptor authorizeInterceptor;
    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(authorizeInterceptor);
    }
}
@Component
@Order(Ordered.HIGHEST_PRECEDENCE)
public class AuthorizeInterceptor extends HandlerInterceptorAdapter {
    private static final Logger LOGGER = LoggerFactory.getLogger(WebSecurityConfig.class);
    @Override
    public void afterCompletion(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, Exception arg3)
            throws Exception {
    }
    @Override
    public void postHandle(HttpServletRequest arg0, HttpServletResponse arg1, Object arg2, ModelAndView arg3)
            throws Exception {
        LOGGER.debug("POST HANDLE REQUEST------------");
    }
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object arg2) throws Exception {
        LOGGER.debug("PREHANDLE REQUEST-------------");     
    }
}

我在您的情况下创建了完全相同的项目,并且拦截器正常工作。可能是您需要在应用程序属性中检查记录器配置或logging.level.org.springframework.web=DEBUG

您是否尝试过system.out.println而不是logger.debug?

而不是

 @Autowired
    private AuthorizeInterceptor authorizeInterceptor;

添加

 @Autowired
    HandlerInterceptor interceptor;

相关内容

最新更新