最近给第三方终端机做外部API,考虑到API安全,决定使用拦截器做签名接口验证,哎~ 这一做就耗了我一天。。。。。
本来是个很简单的实现 , 首先编写拦截器实现类然后继承HandlerInterceptorAdapter
WebMvcConfig 继承适配器, 实现多个拦截器适配
启动服务
配置看似一切正常,稳如老狗,启动访问要拦截的接口一点反应都没,控制台的打印也出不来,硬是出不来,百度了很久,期间按照百度上的实例稳扎稳打的配置,后台依旧毫无反应,好恶心啊,我不就想配个拦截器嘛~,搞了半天还是没有结果,最后决定用最笨的方法—— 把项目里和适配或者配置相关的类里面的注解先注释掉,使其不依赖注入,只留下拦截器,咦!启动项目后拦截器生效了,内心暗喜,但还是无法定位具体哪个配置影响了拦截器,不死心,我耐心的把之前注释的类一个个加入调试,最后发现是项目里Swagger2API文档生成工具extends WebMvcConfigurationSupport 惹的祸,我把WebMvcConfigurationSupport 换成 WebMvcConfigurerAdapter 拦截器就可以正常使用了,哎,一声长叹,我还是没有明白WebMvcConfigurationSupport 与WebMvcConfigurerAdapter 为啥不能共存,路漫漫其修远兮 ~