解決思路:通過Zuul上傳文件接口無返回值的問題

項目由多個微服務(wù)組成,通過Zuul進(jìn)行API接口的網(wǎng)關(guān)轉(zhuǎn)發(fā)。項目上線后正常運行,但運行一段時間后偶爾會出現(xiàn)文件上傳接口返回值為空的問題。接口的狀態(tài)為200,但通過瀏覽器調(diào)試發(fā)現(xiàn)response為空(因此斷定為Zuul層面錯誤)。
考慮的解決問題的方向:

1. 文件過大導(dǎo)致上傳失?。?/h3>

Zuul上傳文件 - 溝渠映明月 - 博客園 (cnblogs.com)
Spring boot默認(rèn)的文件上傳大小限制為1MB,但是即使修改之后依然無法解決問題

2. zuul的臨時文件目錄被定時清理導(dǎo)致

這個問題可以通過為server.tomcat.basedir設(shè)置一個指定的目錄來解決
SpringBoot文件上傳異常之提示The temporary upload location xxx is not valid
這個方法部分解決了問題,加上此配置后出現(xiàn)報錯的概率小了,但依然會出現(xiàn)問題

3. Zuul過濾了HTTP的header導(dǎo)致后端無數(shù)據(jù)?

zuul 巨坑 跨域 請求 正常 但沒有返回 結(jié)果_自由の力-CSDN博客](https://blog.csdn.net/taoli1986/article/details/95787546)
加上配置后無效果。

解決問題中的發(fā)現(xiàn)

在Spring boot 2.0中spring.servlet.http.multipart被替換為了spring.servlet.multipart,請注意Spring boot的版本問題。
java - How exactly spring.http.multipart.enabled is different from spring.servlet.multipart.enabled? - Stack Overflow

Zuul網(wǎng)關(guān) @EnableZuulProxy 和 @EnableZuulServer 的區(qū)別

Spring Boot Reference Guide

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容