springcloud使用feign调用服务时参数内容过大问题

作者:xiaobai_0316 时间:2022-08-31 11:23:26 

feign调用服务时参数内容过大

场景

前端参数传入到gateway后,gateway使用feign调用服务时,传入的参数内容过大(参数常见于富文本、或者其他附属信息过多)会导致传输不过去,虽然配置可以调节内容大小,但是最大的也有上限,所以特殊处理一道。

例如该类参数:

springcloud使用feign调用服务时参数内容过大问题

解决方法

可新增两个redis公共方法,后续出现的都可以共用

1、设置缓存参数:

对于请求参数数量不多,但是某些请求参数过大的场景,临时将参数body缓存在redis中,通过传递缓存key(tsparamPlaceContent),在后续接口获取请求体

springcloud使用feign调用服务时参数内容过大问题

2、获取缓存参数:

对于请求参数过大的请求,通过传递过来的缓存key(tsparamPlaceContent),获取请求体

springcloud使用feign调用服务时参数内容过大问题

大致步骤就是这样,具体怎么实现,根据各个项目不同代码去实现,该种解决方案也可适用于MQ在服务之间发送消息时内容过大的问题

feign消费时,如果传入参数过长

导致feign.FeignException: status 400 reading错误

抛出异常:

feign.FeignException: status 400 reading ProjectFeignClient#getPartsByNodes(String,List)

原因:

查询时,list<integer>中有600个参数

解决办法

查询数据时,分批查,每次500左右

来源:https://blog.csdn.net/xiaobai_0316/article/details/113605565

标签:springcloud,feign,调用服务,参数
0
投稿

猜你喜欢

  • 谈一谈Android内存泄漏问题

    2023-01-29 23:23:54
  • Android sharedPreferences实现记住密码功能

    2022-09-11 13:58:37
  • JVM垃圾收集器详解

    2022-10-06 10:46:00
  • C#中循环语句:while、for、foreach的使用

    2022-05-01 02:42:55
  • Java C++ 算法题解leetcode652寻找重复子树

    2022-08-17 23:58:09
  • 短网址的原理与生成方法(Java实现)

    2022-04-14 11:29:19
  • Android编程之播放器MediaPlayer实现均衡器效果示例

    2022-02-25 11:52:32
  • WPF如何自定义ProgressBar滚动条样式

    2021-08-02 13:31:44
  • Android自定义View实现带4圆角或者2圆角的效果

    2023-04-08 04:32:10
  • 使用C语言编写基于TCP协议的Socket通讯程序实例分享

    2023-07-05 03:30:03
  • idea中如何使用git进行版本回退详解

    2022-03-24 06:28:11
  • Java中关于Map四种取值方式

    2022-04-22 09:24:09
  • C#抓取网络图片保存到本地的实现方法

    2023-06-28 11:35:13
  • C#启动外部程序的几种常用方法汇总

    2022-06-21 15:13:11
  • Springboot如何使用filter对request body参数进行校验

    2023-09-14 05:28:46
  • Android LayerDrawable超详细讲解

    2023-12-03 16:36:30
  • Java和C++通过new创建的对象有何区别?

    2022-02-07 10:06:10
  • C++链表节点的添加和删除介绍

    2023-08-23 02:32:09
  • IDEA的默认快捷键设置与Eclipse的常用快捷键的设置方法

    2023-04-09 18:32:40
  • SpringBoot 内置工具类的使用

    2021-08-26 11:42:21
  • asp之家 软件编程 m.aspxhome.com