spring cloud各个微服务之间如何相互调用(Feign、Feign带token访问服务接口)
1、首先先看什么是Feign。
这里引用“大漠知秋”的博文https://blog.csdn.net/wo18237095579/article/details/83343915
2、若其他服务的接口未做权限处理,参照上文第1点的博文即可。
3、若其他服务的接口做了权限的处理(例如OAuth 2)时该如何访问?
a、有做权限处理的服务接口直接调用会造成调用时出现http 401未授权的错误,继而导致最终服务的http 500内部服务器错误
b、解决方式:最方便的就是往请求头里加上token,一起带过去;
b1、Feign有提供一个接口,RequestInterceptor;
只要实现这个接口,简单做一些处理,比如说我们验证请求头的token叫Access-Token
,我们就先取出当前请求的token,然后放到feign请求头上;
b2、新建配置类
@Configuration
public class FeignConfig implements RequestInterceptor {@Overridepublic void apply(RequestTemplate requestTemplate) {ServletRequestAttributes attributes = (ServletRequestAttributes)RequestContextHolder.getRequestAttributes();HttpServletRequest request = attributes.getRequest();requestTemplate.header(HttpHeaders.AUTHORIZATION, request.getHeader(HttpHeaders.AUTHORIZATION));}
}
b3、在@FeignClient接口里添加configuration = {FeignConfig.class}
@FeignClient(value="被调用的服务名",configuration={FeignConfig.class})
即可对做权限处理的服务接口进行调用
spring cloud各个微服务之间如何相互调用(Feign、Feign带token访问服务接口)相关推荐
- feign调用多个服务_spring cloud各个微服务之间如何相互调用(Feign、Feign带token访问服务接口)...
1.首先先看什么是Feign. 2.若其他服务的接口未做权限处理,参照上文第1点的博文即可. 3.若其他服务的接口做了权限的处理(例如OAuth 2)时该如何访问? a.有做权限处理的服务接口直接调用 ...
- 《深入理解 Spring Cloud 与微服务构建》第二章 微服务应该具备的功能
<深入理解 Spring Cloud 与微服务构建>第二章 微服务应该具备的功能 文章目录 <深入理解 Spring Cloud 与微服务构建>第二章 微服务应该具备的功能 一 ...
- 1.Spring Cloud 构建微服务应用程序之概览
1.Spring Cloud 构建微服务应用程序之概览 1.1 微服务发展史 1.2 为什么要学习微服务应用开发? 1.3 微服务和分布式之间的关系 1.4 微服务架构下构建分布式系统带来了哪些问题? ...
- SpringCloud,Eureka,服务注册,微服务之间的项目调用
文章目录 前言 一.Eureka是什么? 二.项目实现步骤 1.项目外壳的搭建 2.Eureka注册中心服务搭建 3.Provider(提供者)服务搭建 4.Consumer(消费者)服务搭建 总结 ...
- 基于Spring Boot和Spring Cloud实现微服务架构学习--转
原文地址:http://blog.csdn.net/enweitech/article/details/52582918 看了几周spring相关框架的书籍和官方demo,是时候开始总结下这中间的学习 ...
- 基于 Spring Boot 和 Spring Cloud 实现微服务架构
前言 首先,最想说的是,当你要学习一套最新的技术时,官网的英文文档是学习的最佳渠道.因为网上流传的多数资料是官网翻译而来,很多描述的重点也都偏向于作者自身碰到的问题,这样就很容易让你理解和操作出现偏差 ...
- 基于Spring Boot和Spring Cloud实现微服务架构学习
目录 Spring 顶级框架 Spring cloud子项目 WHAT - 什么是微服务 微服务简介 微服务的具体特征 SOA vs Microservice HOW - 怎么具体实践微服务 客户端如 ...
- 《深入理解 Spring Cloud 与微服务构建》第十三章 配置中心 Spring Cloud Config
<深入理解 Spring Cloud 与微服务构建>第十三章 配置中心 Spring Cloud Config 文章目录 <深入理解 Spring Cloud 与微服务构建>第 ...
- 《深入理解 Spring Cloud 与微服务构建》第十二章 服务注册和发现 Consul
<深入理解 Spring Cloud 与微服务构建>第十二章 服务注册和发现 Consul 文章目录 <深入理解 Spring Cloud 与微服务构建>第十二章 服务注册和发 ...
- 《深入理解 Spring Cloud 与微服务构建》第十章 路由网关 Spring Cloud Zuul
<深入理解 Spring Cloud 与微服务构建>第十章 路由网关 Spring Cloud Zuul 文章目录 <深入理解 Spring Cloud 与微服务构建>第十章 ...
最新文章
- php时间之差,PHP获得任意时间与当前时间的时间差
- java1.8 类库_Commons Configuration 1.8发布 配置管理Java类库
- matlab for and if command
- Linux下创建用于并指定该用户的主目录和相关权限
- 快手基于RocketMQ的在线消息系统建设实践
- 网状结构的解藕-中介者模式
- 解决git push 中remote: Permission to xxxxx.git denied to xxx. fatal: unable to access xxxx 403(转)
- 树莓派 php mysql 中文_使用树莓派(raspberry pi)搭建网站(nginx+php+mysql+ddclient)
- 设计一个移动应用的本地缓存机制
- 软考高级网络规划设计师论文考试技巧
- 等保数据备份和恢复关键点,这些你该知道!
- 华为或正与联发科、紫光展锐就采购更多芯片事宜展开磋商
- 吴恩达旗下Drive.ai商业化第一步!现在去德州能打无人驾驶出租车
- java一个引用多大_为什么Java 8为方法引用引入了一个新的“::”运算符?
- 统一社会信用代码、纳税人识别号验证规则
- RAID磁盘阵列详解
- python print用法举例,Python2和Python3中print的用法示例总结
- 菜刀连接图片一句话木马
- 千兆以太网TCP协议的FPGA实现。
- SLsec题目wp(2)