使用泽西岛的输入和输出二进制流?
我正在使用泽西岛来实现一个主要检索和提供JSON编码数据的RESTful API。但是在某些情况下,我需要完成以下操作:
- 导出可下载的文档,如 PDF、XLS、ZIP 或其他二进制文件。
- 检索多部分数据,例如一些 JSON 加上上传的 XLS 文件
我有一个基于JQuery的单页Web客户端,它创建对此Web服务的AJAX调用。目前,它不进行表单提交,而是使用GET和POST(带有JSON对象)。我应该使用表单发布来发送数据和附加的二进制文件,还是可以使用 JSON 加二进制文件创建多部分请求?
我的应用程序的服务层当前在生成 PDF 文件时会创建一个 ByteArrayOutputStream。通过泽西岛将此流输出到客户端的最佳方式是什么?我已经创建了一个MessageBodyWriter,但我不知道如何从泽西岛资源使用它。这是正确的方法吗?
我一直在查看泽西岛附带的示例,但还没有找到任何说明如何做到这两点的东西。如果这很重要,我正在使用泽西岛和杰克逊在没有XML步骤的情况下进行Object->JSON,并且我并没有真正使用JAX-RS。