springcloud使用feign調(diào)用服務(wù)時參數(shù)內(nèi)容過大問題
feign調(diào)用服務(wù)時參數(shù)內(nèi)容過大
場景
前端參數(shù)傳入到gateway后,gateway使用feign調(diào)用服務(wù)時,傳入的參數(shù)內(nèi)容過大(參數(shù)常見于富文本、或者其他附屬信息過多)會導(dǎo)致傳輸不過去,雖然配置可以調(diào)節(jié)內(nèi)容大小,但是最大的也有上限,所以特殊處理一道。
例如該類參數(shù):

解決方法
可新增兩個redis公共方法,后續(xù)出現(xiàn)的都可以共用
1、設(shè)置緩存參數(shù):
對于請求參數(shù)數(shù)量不多,但是某些請求參數(shù)過大的場景,臨時將參數(shù)body緩存在redis中,通過傳遞緩存key(tsparamPlaceContent),在后續(xù)接口獲取請求體

2、獲取緩存參數(shù):
對于請求參數(shù)過大的請求,通過傳遞過來的緩存key(tsparamPlaceContent),獲取請求體

大致步驟就是這樣,具體怎么實現(xiàn),根據(jù)各個項目不同代碼去實現(xiàn),該種解決方案也可適用于MQ在服務(wù)之間發(fā)送消息時內(nèi)容過大的問題
feign消費時,如果傳入?yún)?shù)過長
導(dǎo)致feign.FeignException: status 400 reading錯誤
拋出異常:
feign.FeignException: status 400 reading ProjectFeignClient#getPartsByNodes(String,List)
原因:
查詢時,list<integer>中有600個參數(shù)
解決辦法
查詢數(shù)據(jù)時,分批查,每次500左右
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
- springcloud?feign服務(wù)之間調(diào)用,date類型轉(zhuǎn)換錯誤的問題
- SpringCloud中的Feign遠程調(diào)用接口傳參失敗問題
- springcloud本地調(diào)試feign調(diào)用出現(xiàn)的詭異404問題及解決
- SpringCloud 服務(wù)負載均衡和調(diào)用 Ribbon、OpenFeign的方法
- SpringCloud使用Feign實現(xiàn)服務(wù)調(diào)用
- SpringCloud Feign 服務(wù)調(diào)用的實現(xiàn)
- SpringCloud服務(wù)之間Feign調(diào)用不會帶上請求頭header的解決方法
相關(guān)文章
使用Java的Lucene搜索工具對檢索結(jié)果進行分組和分頁
這篇文章主要介紹了使用Java的搜索工具Lucene對檢索結(jié)果進行分組和分頁的方法,Luence是Java環(huán)境中的一個全文檢索引擎工具包,需要的朋友可以參考下2016-03-03
IDEA在SpringBoot項目使用Maven打包后jar包太小問題及解決
這篇文章主要介紹了IDEA在SpringBoot項目使用Maven打包后jar包太小問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-04-04
MyBatis-Plus輸出完整SQL(帶參數(shù))的三種方案
當(dāng)我們使用 mybatis-plus 時,可能會遇到SQL 不能直接執(zhí)行,調(diào)試也不方便的情況,那么,如何打印完整 SQL(帶參數(shù))呢?本篇文章將介紹 3 種實現(xiàn)方式,并對比它們的優(yōu)缺點,需要的朋友可以參考下2025-02-02
淺談java+內(nèi)存分配及變量存儲位置的區(qū)別
下面小編就為大家?guī)硪黄獪\談java+內(nèi)存分配及變量存儲位置的區(qū)別。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-08-08
Spring Boot命令行啟動添加參數(shù)的三種方式
在命令行中,常見的參數(shù)可以分為三類:選項參數(shù)、非選項參數(shù)和系統(tǒng)參數(shù),本文就來介紹一下Spring Boot命令行三種參數(shù)形式,感興趣的可以了解一下2023-09-09

