最近給第三方終端機做外部API偿衰,考慮到API安全,決定使用攔截器做簽名接口驗證下翎,哎~? ?這一做就耗了我一天。胆萧。俐东。。蚌吸。
本來是個很簡單的實現(xiàn) 乒裆, 首先編寫攔截器實現(xiàn)類然后繼承HandlerInterceptorAdapter
WebMvcConfig 繼承適配器, 實現(xiàn)多個攔截器適配
啟動服務(wù)
配置看似一切正常,穩(wěn)如老狗稿黄,啟動訪問要攔截的接口一點反應(yīng)都沒,控制臺的打印也出不來族购,硬是出不來陵珍,百度了很久,期間按照百度上的實例穩(wěn)扎穩(wěn)打的配置瑟幕,后臺依舊毫無反應(yīng)留潦,好惡心啊,我不就想配個攔截器嘛~殖卑,搞了半天還是沒有結(jié)果坊萝,最后決定用最笨的方法—— 把項目里和適配或者配置相關(guān)的類里面的注解先注釋掉许起,使其不依賴注入肛冶,只留下攔截器,咦睦袖!啟動項目后攔截器生效了馅笙,內(nèi)心暗喜厉亏,但還是無法定位具體哪個配置影響了攔截器,不死心爱只,我耐心的把之前注釋的類一個個加入調(diào)試,最后發(fā)現(xiàn)是項目里Swagger2API文檔生成工具extends WebMvcConfigurationSupport 惹的禍窝趣,我把WebMvcConfigurationSupport? 換成 WebMvcConfigurerAdapter? 攔截器就可以正常使用了训柴,哎,一聲長嘆洗鸵,我還是沒有明白WebMvcConfigurationSupport 與WebMvcConfigurerAdapter? 為啥不能共存仗嗦,路漫漫其修遠兮 ~