zoukankan      html  css  js  c++  java
  • Feign解决服务之间调用传递token

     在单体服务中调用一个接口时需要在Head里加token直接放在head里就行了,Feign之间调用服务需要加token怎么办呢,解决办法实现RequestInterceptor接口。

    1、在调用服务中新建FeignConfig类并实现RequestInterceptor接口,重写apply方法。

    public class FeignConfig implements RequestInterceptor {
            @Override
            public void apply(RequestTemplate requestTemplate) {
                ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
                HttpServletRequest request = attributes.getRequest();
                //添加token
                requestTemplate.header("Token", request.getHeader("Token"));
            }
        }

    2、调用方法

       

    @FeignClient(name = "被调用服务名")
        public interface UaaClient {
            @RequestMapping(value = "被调用服务中方法名")
            String test();
        }

    这样就可以实现Feign调用服务之间Token共享了。

  • 相关阅读:
    面向对象——多态
    面向对象——继承
    面向对象—封装
    数组
    控制语句
    认识Java
    出入境大厅流程
    2021上半年感想
    记录2020
    读后感《从三分钟热度到一万个小时》
  • 原文地址:https://www.cnblogs.com/wangdahui/p/11971372.html
Copyright © 2011-2022 走看看