

4.2 Feign 拦截器
4.2.1 定义Feign拦截器
微服务之间使用feign进行远程调用,采用feign拦截器实现远程调用携带JWT。
在common工程添加依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring‐cloud‐starter‐openfeign</artifactId>
</dependency>


拦截器
FeignClientInterceptor

实现接口,重写方法。feign每次远程调用都会调用apply这个方法

要做两件事

//使用RequestContextHolder工具获取request相关变量
ServletRequestAttributes attributes = (ServletRequestAttributes)
RequestContextHolder.getRequestAttributes();

获取所有的headers


在哪里用拦截器就在哪里定义Bean
在课程管理的spring boot的启动类里面

课程管理和cms服务都启动。



循环 走几次 才拿到了authorization



这里报错是因为要请求另外的微服务

这个是另外的微服务的地址。请求另外的微服务也需要携带令牌。

restTemplate需要想在请求之前携带令牌。



为了快速解决这个错误。我们把这个地址加入到不验证的规则里面


重新启动课程管理的服务
