现象:实现Feign请求拦截器时,执行如下代码,报空指针异常
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
解决方式:在启动类中加入以下代码
/** * 监听器:监听HTTP请求事件 * 解决RequestContextHolder.getRequestAttributes()空指针问题 * @return */ @Bean public RequestContextListener requestContextListener(){ return new RequestContextListener(); }
RequestContextListener 监听器实现了Http请求实现,每个Web请求都会被它监听。