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共享了。

  • 相关阅读:
    梦断代码阅读笔记之三
    梦断代码阅读笔记二
    输入法评价
    1的个数
    团队冲刺-10
    第一阶段个人总结03
    第一阶段个人总结02
    第一阶段个人总结01
    学习进度条第十周
    学习进度条第九周
  • 原文地址:https://www.cnblogs.com/wangdahui/p/11971372.html
Copyright © 2011-2022 走看看