前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Feign请求中报错:Request header is too large 的解决方案。

Feign请求中报错:Request header is too large 的解决方案。

作者头像
一枝花算不算浪漫
发布2018-08-08 17:49:47
2.8K0
发布2018-08-08 17:49:47
举报
文章被收录于专栏:一枝花算不算浪漫的专栏

现在我们项目中都已迁入spring boot和spring cloud。 服务间调用现在都改成feign的调用方式,但是上次在实际使用过程中出现过:Request header is too large 的情况。

这里重现下场景:

1,调用其他服务提供方的接口 2,POST请求,传递的参数包含数据较大 3,本地联调发现报错:Request header is too large

查询一圈发现大多是建议修改tomcat中的header的最大值:

例如:server.max-http-header-size=1048576 (参考自:https://blog.csdn.net/qq_38951372/article/details/79403868

但是回头想想,这并不是治本的方法,如果下次真的传递的值超过了这个怎么办??

现在给出我的解决方案:在Feign中使用MultiValueMap作为参数的接收方,Controller无需改变。 例如:

1,Feign中修改参数定义

2,服务请求方

原因是我们使用Feign调用时,默认会将参数header中也存放一份,所以就导致了header is too large的异常,使用MultiValueMap就可以完美解决这种问题了。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-07-24 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档