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需要想在请求之前携带令牌。

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

重新启动课程管理的服务



 

相关文章:

  • 2021-11-13
  • 2021-10-19
  • 2021-11-24
  • 2022-03-04
  • 2021-07-01
  • 2021-07-27
  • 2022-02-18
猜你喜欢
  • 2022-01-08
  • 2021-10-29
  • 2021-11-02
  • 2022-01-17
  • 2022-01-06
  • 2021-07-24
  • 2022-02-28
相关资源
相似解决方案