在我們的 spring boot 應用程序中,我們出于某種目的調用外部 API,它返回大約20mb 的JSON 數據作為響應。收到響應后,我們使用 ObjectMapper 將響應映射到 POJO。我們正在使用 RestTemplate 調用 API 并接收響應。在 Spring 引導應用程序中處理大型響應數據而不會出現內存問題的最佳實踐是什么?謝謝
1 回答

蕭十郎
TA貢獻1815條經驗 獲得超13個贊
我想說有兩種好的方法:
避免使用返回過多信息的 API。就我個人而言,我認為 REST 端點應該遵循我們用于代碼的相同規則,例如“單一職責原則”或“關注點分離”。示例:與其使用返回“完整目錄”(包含所有目錄條目的所有詳細信息)的 API,不如使用兩個 API:一個僅檢索目錄中所有條目的 ID/名稱,另一個返回所有詳細信息一個(或多個)條目。
或者,正如用戶Antoniosss在評論中所建議的那樣:看看您是否可以避免使用“完整”響應,而是使用某種基于流的解決方案。
但話雖如此:當您的要求確實是通過一次調用返回所有數據時,您無能為力。您可能會考慮不使用對象映射來獲得完整的響應。
添加回答
舉報
0/150
提交
取消