簡體   English   中英

如何將大json數據發送到spring控制器

[英]How to send large json data to the spring controller

我如何將大量的json數據發送到spring控制器。 說,我有大約100k或1000k記錄的大型json數據,需要在spring或springboot中將其發送到我的rest控制器,那么什么是解決問題的最佳/最有效方法?

我知道可以使用請求正文發送數據,但是我認為在REST api的請求正文中發送如此大量的數據效率不高。 我在這里可能是錯誤的,如果我要糾正我。

並且數據需要盡快存儲在數據庫中。 因此,我需要一種快速可靠的方法來解決該問題。

您的問題有兩個部分。
1.如何接收如此龐大的數據量:如果要接收大量的數據,通常最好將其(從響應的輸入流中)本地保存為文件並異步處理該數據。確保您設置了適當的較高的讀取超時,否則數據流可能會中斷()。
2.如何處理如此大的文件:對於大文件,內存占用量需要最小。 對於XML,SaxParsers是黃金標准。 我發現此庫與sax解析非常相似,但對於Json http://rapidjson.org/md_doc_sax.html

您可以使用反應性方法並流式傳輸數據。 在Spring中,請使用MediaType.APPLICATION_STREAM_JSON_VALUE生產者和Flux作為返回類型。 在客戶端,訂閱流並處理數據,或者可以使用Spring Batch將數據保存到數據庫。

暫無
暫無

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

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