在swagger.yml中指定“流式”响应,以递增方式将数据发送到bravado客户端

时间:2016-12-03 11:01:16

标签: python rest swagger swagger-2.0 bravado

我们实现了一个基于Python的REST服务,它通过Swagger指定端点。在客户端,我们使用bravado library。这种组合适用于除一个端点之外的所有端点。该端点必须返回一个大数据集,该数据集无法保存在内存中并且必须流式传输。我想按照here所述,一次一行地发送一条记录。根据{{​​3}},应该可以使用“file”作为数据类型,但我找不到输入文件(即文件上传)的示例,也没有找到下载文件的示例。

任何提示如何通过Swagger指定流输出以及如何通过bravado客户端检索它?

1 个答案:

答案 0 :(得分:0)

Swagger架构中存在一个错误,您可以在此处找到:https://github.com/OAI/OpenAPI-Specification/issues/260我使用的库仍在使用旧架构。并且更新解决了问题。 bravado客户端尝试将整个数据加载到内存中,这使得它无法用于我的用例,但一般来说,如果你使用最新的模式,并且你的数据适合内存,它就可以工作。