在做接口请求时,我们经常会在header头中增加一些鉴权信息,如token 或 jwt,那么在通过fegin从A server去调用B server的接口时,如果B server的接口需要header信息,我们需要将A sever获取的header转发到B上。

解决方式

我们需要实现Feign提供的一个接口RequestInterceptor

@Configuration
public class FeignConfiguration implements RequestInterceptor{private final Logger logger = LoggerFactory.getLogger(getClass());@Overridepublic void apply(RequestTemplate template) {ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request = attributes.getRequest();Enumeration<String> headerNames = request.getHeaderNames();if (headerNames != null) {while (headerNames.hasMoreElements()) {String name = headerNames.nextElement();String values = request.getHeader(name);template.header(name, values);}logger.info("feign interceptor header:{}",template);}/* Enumeration<String> bodyNames = request.getParameterNames();StringBuffer body =new StringBuffer();if (bodyNames != null) {while (bodyNames.hasMoreElements()) {String name = bodyNames.nextElement();String values = request.getParameter(name);body.append(name).append("=").append(values).append("&");}}if(body.length()!=0) {body.deleteCharAt(body.length()-1);template.body(body.toString());//logger.info("feign interceptor body:{}",body.toString());}*/}}

@FeignClient注解里面的属性加上configuration = FeignConfiguration.class就可以了。如

@FeignClient(name = "a-server",  configuration = FeignConfiguration.class)
public interface AServer{
}

bootstrap.yml增加

hystrix:command:default:execution:timeout:enabled: falseisolation:strategy: SEMAPHORE

转载于:https://www.cnblogs.com/tulu/p/9765675.html

Spring Cloud之Feign 转发请求头(header参数)相关推荐

  1. 微信小程序设置请求头header 参数 token 验证

    小程序开发中需要在请求头header中用到 token 验证 header:{ 'content-type': 'application/x-www-form-urlencoded', 'access ...

  2. spring cloud 微服务之间添加自定义的header头

    spring cloud 微服务之间添加自定义的header头 spring cloud 微服务之间添加自定义的header头 创建注册中心 创建生产者 创建消费者 验证结果 spring cloud ...

  3. 解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题

    解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题 参考文章: (1)解决通过Nginx转发的服务请求头header中含有下划线的key,其值取不到的问题 (2)ht ...

  4. Spring Cloud(四):Spring Cloud Alibaba Feign Dubbo

    扩展点 RequestInterceptor#apply 扩展点 feign.Client#execute spring cloud dubbo 调用 RPC RPC 全称是 Remote Proce ...

  5. 三分钟了解Spring Cloud Gateway路由转发之自动路由

    文章目录 一.前言 二.路由配置 1. 静态路由 2. 动态路由 3. 自动路由 三.Spring Cloud Gateway 是如何实现动态路由 工作原理 源码解析 路由转发原理 路由转发源码解析 ...

  6. Spring Cloud【Finchley】-07Feign构造多参数GET/POST请求

    文章目录 概述 调用顺序 Feign构造多参数GET请求 url参数和方法参数一一对应 map接收 Feign构造多参数POST请求 源码 概述 Spring Cloud-06服务消费者整合Feign ...

  7. Spring Cloud Gateway一次请求调用源码解析

    简介: 最近通过深入学习Spring Cloud Gateway发现这个框架的架构设计非常简单.有效,很多组件的设计都非常值得学习,本文就Spring Cloud Gateway做一个简单的介绍,以及 ...

  8. Spring Cloud (Eureka,Feign,Hystrix整合)

    Spring Cloud(Eureka,Feign,Hystrix整合) Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代 ...

  9. java http head 请求_http请求头header、请求体body、请求行介绍

    HttpServletRequest对象代表客户端的请求,当客户端通过http协议请求访问 服务器的时候,http请求头的所有信息都封装在这个对象中,通过这个对象,可以获取客户端请求的所有信息.htt ...

最新文章

  1. 试试 IntelliJ IDEA 自带的高能神器!
  2. 程序员接活利器,dataTable组件带你快速开发,摆脱CRUD
  3. 日本计算机科学家谷歌评审,高一被清华姚班录取, 高三委拒谷歌offer, 一个重度网瘾少年到理论计算机科学家的蜕变...
  4. SQL Server中通用数据库角色权限的处理详解
  5. 《看聊天记录都学不会C语言?太菜了吧》(10)程序媛聪明绝顶了
  6. 手机 html 折叠效果,HTML5仿苹果手机的面板合拢折叠效果
  7. 安卓逆向_4 --- Java 学习
  8. 【LeetCode笔记】221. 最大正方形(Java、动态规划、思路题)
  9. c++椭圆最小二乘法原理_c++ 椭圆拟合之最小二乘法(图像处理)
  10. 【报告分享】未来教育的技术空间研究报告.pdf(附下载链接)
  11. robot framework 使用四:分层设计和截图以及注意事项
  12. CF1109F Sasha and Algorithm of Silence's Sounds LCT、线段树
  13. ubuntu下载python3.8_ubuntu16.04纯净版-安装Python3.8.1/升级pip
  14. MySql Server 5.5安装教程
  15. 推荐 5 个免费高品质的图片资源网站
  16. SM6125平台扩容camera id的修改方法
  17. 台达0.4KW伺服上电报AL013
  18. IE浏览器JSON未定义
  19. 关于点进Steam页面白屏解决办法
  20. IT软件培训学校现场面试过程纪要及总结

热门文章

  1. 蓝牙血压计芯片方案开发设计
  2. 计算理论——正则语言,上下文无关文法,图灵机,可判定性,可规约性
  3. 教培人失业后的职业去向调查
  4. 一款适合程序员的 Markdown 简历模版,拒绝花里胡哨
  5. MHA+keepalive高可用环境搭建
  6. Android 可滑动的悬浮View
  7. Unable to get VFS File object for filename 'file:///': Unknown scheme sftp in URI {1}.
  8. 相似性度量方法(欧式距离等各种距离)
  9. 单反相机哪个牌子好?入门单反相机推荐?佳能单反相机推荐
  10. MathType在Word的菜单栏中不显示应该怎么解决