簡體   English   中英

如何在Spring Boot應用程序中處理來自外部api的較大響應

[英]How to handle large response from external api in Spring Boot application

在我們的Spring Boot應用程序中,出於某種目的,我們正在調用外部API,它會返回大約20mb的 JSON數據作為響應。 收到響應后,使用ObjectMapper將響應映射到POJO。

我們正在使用RestTemplate來調用API並接收響應。

在Spring Boot應用程序中處理大型響應數據而又不會出現內存問題的最佳實踐是什么?

謝謝

我會說有兩種好的方法:

  • 避免使用返回大量信息的API。 我個人認為,REST端點應遵循與我們的代碼相同的規則,例如“單一責任原則”或“關注點分離”。 示例:擁有兩個API而不是使用返回“完整目錄”(包含所有目錄條目的所有詳細信息)的API,而是使用兩個API:一個僅檢索目錄中所有條目的ID /名稱,另一個返回所有詳細信息一個(或多個)條目。
  • 或者,如用戶Antoniosssss的評論中所建議:查看是否可以避免使用“完整”響應,而是使用某種基於流的解決方案。

但要說的是:當您的要求實際上是一次調用就返回所有數據時,您將無能為力。 可能會考慮不要將對象映射用於完整的響應。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM