哪个LiftResponse类适合返回基于XML的文件格式?

时间:2015-06-15 16:23:14

标签: xml http lift

我有一个Lift应用程序,可以动态生成Gephi文件。 Gehpi原生格式是基于XML的。目前的计划是在客户端上的Gephi中下载和打开文件,而不在浏览器中处理/显示。

我查看了LiftResponse子类,似乎StreamingResponse或PlainTextResponse可能都有效(我已经使用StreamingResponse创建了一个简单的原型)。虽然有一个专门的JsonResponse,但我没有看到XML特定的响应。

挑选一个班级比另一个班级有什么优点和缺点?哪个更合适?或者他们在这种情况下同样好吗?

1 个答案:

答案 0 :(得分:2)

JsonResponsePlainTextResponse是最终返回InMemoryResponse的助手。您可以分别查看源代码herehere。您会注意到PlainTextResponse设置了一个mimetype“text / html”,这对于XML来说不一定正确。

还有XmlResponse类型,您可以调查here,这可能是您正在寻找的内容。它也返回一个InMemoryResponse,顾名思义,它假定你的整个对象在发送给客户端之前都在内存中。

StreamingResponse更适合更大的文件和对象,它需要一个Stream并将该流的块读入内存并发送它们,重复该过程直到完成 - 所以你不需要保持记忆中的整个结构。

两者都应该适合你,只是一个你正在处理的数据大小以及你如何使用它的问题。