一、原因
在通过 Feign 进行服务调用的过程中,我们需要将用户的 token、lang 等信息放入请求 header 中。
在这个过程中,我们需要继续将用户请求头中的数据保持传递,方便底层服务获取用户登陆状态, 本地化参数等数据。
比如:现在做的项目,采用mybatis租户隔离的方式进行搭建;通过nginx给不同的域名加上xtenant,域名访问的时候会有xtenant,但是如果直接通过微服务进行调用的话,请求不回经过nginx,这样就不会在headers上加入xtenant,导致租户隔离有问题;
二、解决方案
通过入参的方式,设置headers,这样只要给feign调用的接口,增加一个入参,就能解决租户隔离问题。
@FeignClient(value = "rent", fallbackFactory = RentCloudFallbackFactory.class