feign.RetryableException: too many bytes written executing POST
在使用feign的时候 出现这个错误 记录一下
原代码如下
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;/*** ***************************************************** @Auther: * @Descipion: * @CreateDate: * *****************************************************/
public class FeignBasicAuthRequestInterceptor implements RequestInterceptor {@Overridepublic void apply(RequestTemplate requestTemplate) {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);requestTemplate.header(name, values);}}}}
因为服务之间调用需要携带一些用户信息之类的 所以实现了Feign的RequestInterceptor
拦截器复制请求头,复制的时候是所有头都复制的,可能导致Content-length长度跟body不一致. 所以只需要判断如果是Content-length就跳过
修改后代码如下
import feign.RequestInterceptor;
import feign.RequestTemplate;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;import javax.servlet.http.HttpServletRequest;
import java.util.Enumeration;/*** ***************************************************** @Auther: zianY* @Descipion: TODO* @CreateDate: 2021-01-22* *****************************************************/
public class FeignBasicAuthRequestInterceptor implements RequestInterceptor {@Overridepublic void apply(RequestTemplate requestTemplate) {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);// 跳过 content-lengthif (name.equals("content-length")){continue;}requestTemplate.header(name, values);}}}}
参考文章:
Feign报错feign.RetryableException: too many bytes written executing
用了这么久HTTP, 你是否了解Content-Length?
feign.RetryableException: too many bytes written executing POST相关推荐
- 转发: Feign报错feign.RetryableException: too many bytes written executing
Feign报错feign.RetryableException: too many bytes written executing SpringCloud Feign调用报错feign.Retryab ...
- Feign报错feign.RetryableException: too many bytes written executing
Feign报错feign.RetryableException: too many bytes written executing SpringCloud Feign调用报错feign.Retryab ...
- feign.RetryableException: too many bytes written executing
fegin 远程调用报错 feign.RetryableException: too many bytes written executing POST - 解决办法 pom中添加依赖 <dep ...
- SpringCloud Feign调用报错feign.RetryableException: too many bytes written executing
因为服务之间调用需要携带一些用户信息之类的 所以实现了Feign的RequestInterceptor拦截器复制请求头,复制的时候是所有头都复制的,可能导致Content-length长度跟body不 ...
- Request processin g failed; nested exception is feign.RetryableException: too many bytes written
错误信息: 2020-09-08 14:07:14.718 ERROR 16146 --- [io-12000-exec-5] o.a.c.c.C.[.[.[/].[dispatcherServlet ...
- springboot feign too many bytes written executing
报错 springboot feign too many bytes written executing 解決办法 <dependency><groupId>io.github ...
- feign.RetryableException: Connection refused (Connection refused) executing GET http://localhost:909
feign远程调用异常问题: feign.RetryableException: Connection refused (Connection refused) executing GET http: ...
- feign.RetryableException null executing post
feign调用遇到的问题,该文为转载,记录一下 feign.RetryableException: null executing GET http://****/cr**t/e**/cre****ou ...
- feign.RetryableException: Read timed out executing POST http://......
问题描述 SpringCloud微服务之间远程调用报错超时. feign.RetryableException: Read timed out executing POST http://...... ...
最新文章
- Learning to Rank 中Listwise关于ListNet算法讲解及实现
- Noip2016day1 天天爱跑步running
- Linux安装MySQL8.0
- redis 高可用
- 今日讨论:时间紧,工作量太大,作为测试该怎么办?
- server.mappath 与page命名空间说明
- 分布式事务的四种解决方案,值得参考!
- python音乐推荐系统_音乐推荐系统
- STM8单片机的中断优先级
- 吐纳六字气法的形成与发展
- ansi、unico、utf8
- JS中各种width和height的区别
- 大众-OBD-接口位置
- Mysql 与ES(Elastic Search)对比
- 12. linux系统管理(1)
- 用python搭建一个服务器
- 宜家新型智能灯泡被指易遭黑客入侵
- java-php-python-ssm星星电影购票网站计算机毕业设计
- python矩阵中找满足条件的元素_从numpy数组中取出满足条件的元素示例
- 系统消息的发送和接收
热门文章
- Kali自带屏幕截图功能
- icode编程图形化|一级训练场|基础训练2
- 教妹学Java(九):一文搞懂Java中的基本数据类型
- 2022-2028年中国教育行业市场行情动态及投资潜力研究报告
- 从零开始搭建Cydia软件源+制作deb安装包
- 通过wifi热点软件分享网络时,重启的功效
- 【180627】VC++坦克大决战源码(音效+地图)
- 尚硅谷大数据技术Spark教程-笔记02【SparkCore(核心编程,map、mapPartitions、mapPartitionsWithIndex、flatMap、glom、groupBy)】
- 从ST官网获取标准外设库以及官方例程
- linux中FT4232H设备驱动添加,USB转4串口芯片FT4232HL,FT4232HQ