使用产生流的Web服务(将一些二进制数据作为输出流)

时间:2017-08-27 11:10:23

标签: java rest swagger

我有一个REST Java服务,它将文件作为流返回 它类似于此处描述的输出方法:

Input and Output binary streams using JERSEY?

我也使用StreamingOuput,如上所述。

我现在想知道如何在客户端调用此方法 我使用Swagger,但我不是很好,我不知道如何调用我的方法。

目前在我定义的网络服务中

@ApiOperation(value = "Export file from the database", response = File.class)

但我怀疑这里File.class是个好主意。

我是否需要修改此响应类型?
任何关于调用我的服务的好方法的想法或参考都会非常好,因为我非常坚持这一点。

当我从Swagger UI界面调用我的服务时,我看到了这些响应头。

{ "date": "Sun, 27 Aug 2017 11:14:20 GMT", "content-disposition": "attachment; filename=\"DealerTexts.xlsx\"", "x-powered-by": "Servlet/3.1 JSP/2.3 ( Java/Oracle Corporation/1.8)", "transfer-encoding": "chunked", "server": "", "content-type": "application/octet-stream" }

在响应正文中,它为我提供了一个链接,我可以单击并下载由Web服务生成的文件。所以我的问题是我如何从客户端的Java代码中调用同样的东西。

非常感谢任何帮助。

0 个答案:

没有答案