現象:實現Feign請求攔截器時,執行如下代碼,報空指針異常
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
解決方式:在啟動類中加入以下代碼
/** * 監聽器:監聽HTTP請求事件 * 解決RequestContextHolder.getRequestAttributes()空指針問題 * @return */ @Bean public RequestContextListener requestContextListener(){ return new RequestContextListener(); }
RequestContextListener 監聽器實現了Http請求實現,每個Web請求都會被它監聽。