在微服务架构中,由于 Feign 客户端在发起远程调用时,实际上是构建了一个全新的 HTTP 请求,因此默认情况下,原始请求中的 Header(如 Token、Session、Cookie 等)会丢失。 要实现 Header 的透传,最常用且优雅的方式是使用 Feign 的 (请求拦截器)。此外,处理异步调用时的上下文丢失问题也是关键。 以下是完整的实现方案及避坑指南: --- 方案一:使用全局拦截器(最常用,推荐) 通过实现 接口,在 Feign 发起请求前拦截并修改请求,将原始请求的 Header 复制到新请求中。 1. 编写拦截器代码 > 注意: > 1. 上面的 会让该拦截器对所有 FeignClient 生效。 > 2. 千万不要透传 ,因为 Feign 构建的新请求 body 大小可能和原请求不同,透传会导致目标服务解析报文阻塞或报错。 2. 局部生效(可选) 如果你只想让某个特定的 Feign 客户端透传 Header,可以去掉上面的 注解,然后在 注解中显式指定: --- 方案二:方法参数显式传递(适合个别接口) 如果你只有极个别接口需要传递 Token,或者不想...