一、该问题的重现步骤是什么?
1.
HttpServletRequest request = WebUtil.getRequest();
二、你期待的结果是什么?实际看到的又是什么?
Feign远程调用请求头不为空
blade-tool项目中 对于feign 和restTemplate 都有对请求做拦截处理
大概流程就是 :
BladeServletRequestListener利用ServletRequestListener 从客户端请求头中获取指定的请求头中数据
ServletRequestListener介绍与示例:http://www.51gjie.com/javaweb/873.html
2. BladeFeignRequestInterceptor把获取到的请求头 put到ThreadLocal
所以你希望从被调用的服务获取到token需要满足以下几点
客户端请求必须携带token请求,这样后台才能取到调用者的token
相关的配置类必须生效,具体怎么生效 看代码的注解配置
相关的配置类:ServletHttpHeadersGetter,.BladeHystrixAutoConfiguration,BladeSentinelAutoConfiguration
如果还是找不到原因 需要直接debug到我提到的配置类与拦截器 看看是否生效
这里的数据怎么获取
扫一扫访问 Blade技术社区 移动端