(61)java Spring Cloud+Spring boot+mybatis企业快速开发架构之Feign调用前统一申请Token传递到调用的服务中
Posted JIAN2
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(61)java Spring Cloud+Spring boot+mybatis企业快速开发架构之Feign调用前统一申请Token传递到调用的服务中相关的知识,希望对你有一定的参考价值。
如果项目中用的是 HttpClient 或者 RestTemplate 之类的调用接口,则可以在调用之前申请 Token,然后将其塞到请求头中。
在Spring Cloud中消费接口肯定是用 Feign 来做的,这意味着我们需要对 Feign 进行改造,需要往请求头中塞上我们申请好的 Token。1.定义请求拦截器
对于 Token 的传递操作,最好在框架层面进行封装,对使用者透明,这样不影响业务代码,但要求通用性一定要强。我们可以定义一个 Feign 的请求拦截器来统一添加请求头信息,代码如下所示。
2.配置拦截器
拦截器需要在 Feign 的配置中定义,代码如下所示。
上面的准备好之后,我们只需要在调用业务接口之前先调用认证接口,然后将获取到的 Token 设置到环境变量中,通过 System.setProperty(“fangjia.auth.token”,token) 设置值,或者通过定时任务刷新设置。
这样我们就可以通过 System.setProperty(“fangjia.auth.token”,token) 获取到需要传递的 Token。
以上是关于(61)java Spring Cloud+Spring boot+mybatis企业快速开发架构之Feign调用前统一申请Token传递到调用的服务中的主要内容,如果未能解决你的问题,请参考以下文章
(61)java Spring Cloud+Spring boot+mybatis企业快速开发架构之Feign调用前统一申请Token传递到调用的服务中