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

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

2、獲取緩存參數(shù):
對(duì)于請(qǐng)求參數(shù)過(guò)大的請(qǐng)求,通過(guò)傳遞過(guò)來(lái)的緩存key(tsparamPlaceContent),獲取請(qǐng)求體

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

