2015-03-03 31 views
1

我想了解是否有限制多少JSON Spring框架將反序列化到一個對象。Spring JSON反序列化字符數限制

我的REST服務接收POST請求,其中主體是JSON字符串。這是通過Spring框架(3.2.5)自動反序列化成一個對象,並且該對象是作爲方法參數提供的。對象的其中一個屬性是一個數組。我想在我的文檔中提供一些關於調用者可以包含在對象中的最大數組元素的指導。

我知道.NET框架對JSON字符串的大小有一個可配置的限制,但我不知道在Spring中有什麼類似的東西。我的開發服務器目前正在處理100,000個元素(大約800萬個字符)的請求,但尚未完成。

任何想法非常感謝!

回答

1

這取決於很多因素,包括

  • 你的潛在反序列化JSON施加的任何特定的限制。最有可能你使用的是傑克遜,它沒有任何限制我知道
  • 容器特定的限制,你沒有提到你使用的是什麼容器,但是例如Tomcat有一個maxPostSize
  • 前端Web服務器的限制,假設例如apache後面的tomcat。 Apache有LimitRequestBody屬性。
  • 內存,特別是將字符串解析爲對象的堆大小
  • 時間,反序列化需要很長時間以致HTTP請求與客戶端超時的邊緣情況。

您最先遇到的最可能的限制是容器特定的限制。我建議使用容器/前端代理配置來設置合理的限制,以保護自己免受不良客戶的侵害。

+0

謝謝這絕對有用。然而,儘管我*使用Tomcat,我沒有在任何配置文件中看到對maxPostSize的任何引用,並且我能夠POST超過7MB。我會繼續搜索... – tomfumb 2015-03-03 18:02:40