2015-06-15 43 views
0

我有一個電梯應用程序,它可以隨時生成一個Gephi文件。 Gehpi本機格式是基於XML的。目前的計劃是,文件被下載並在Gephi上在客戶端打開,而不在瀏覽器中處理/顯示。哪個LiftResponse類適合返回基於XML的文件格式?

我查看了LiftResponse子類,看起來StreamingResponse或PlainTextResponse可能工作(我已經用StreamingResponse做了一個簡單的原型)。雖然有專門的JsonResponse,但我沒有看到XML特定的響應。

選擇一個類比另一個類有什麼優點和缺點?哪個更適合使用?或者他們在這種情況下同樣好?

回答

2

JsonResponsePlainTextResponse是幫助者,最終返回InMemoryResponse。您可以分別看到源代碼herehere。你會注意到PlainTextResponse設置了一個MIME類型的「text/html」,這對XML來說不一定是正確的。

還有一個XmlResponse類型,您可以調查here和哪些可能是您正在尋找。它也返回一個InMemoryResponse,顧名思義,它假設你的整個對象在發送給客戶端之前都在內存中。

A StreamingResponse更適合大型文件和對象,它需要一個Stream並將該流的塊讀入內存併發送它們,重複該過程直到完成 - 因此您不需要保留整個結構在記憶中。

兩者都應該爲你工作,只是一個問題,你正在處理的數據的大小,以及你如何處理它,否則。