SpringCloud动态设置headers

本文探讨了在SpringCloud中通过Feign调用服务时如何动态设置headers,以保持用户token和lang信息的传递。由于直接微服务调用会丢失如xtenant这样的header,导致租户隔离问题。解决方案是通过入参方式设置headers,只需在调用接口时传入headers参数,避免修改服务接口,实现了问题的完美解决。
摘要由CSDN通过智能技术生成

一、原因

在通过 Feign 进行服务调用的过程中,我们需要将用户的 token、lang 等信息放入请求 header 中。

在这个过程中,我们需要继续将用户请求头中的数据保持传递,方便底层服务获取用户登陆状态, 本地化参数等数据。

比如:现在做的项目,采用mybatis租户隔离的方式进行搭建;通过nginx给不同的域名加上xtenant,域名访问的时候会有xtenant,但是如果直接通过微服务进行调用的话,请求不回经过nginx,这样就不会在headers上加入xtenant,导致租户隔离有问题;

二、解决方案

通过入参的方式,设置headers,这样只要给feign调用的接口,增加一个入参,就能解决租户隔离问题。

@FeignClient(value = "rent", fallbackFactory = RentCloudFallbackFactory.class
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值