我们实现了一个基于 Python 的 REST 服务,它通过Swagger指定端点。在客户端,我们使用bravado 库。这种组合适用于除一个端点之外的所有端点。该端点必须返回一个大型数据集,该数据集不能保存在内存中,必须流出。我想一次每行发送一条记录,如此处所述。根据规范,应该可以使用“文件”作为数据类型,但我找不到输入文件(即文件上传)的示例,也找不到下载文件的示例。
任何提示如何通过 Swagger 指定流输出以及如何通过虚张声势客户端检索它?
Swagger 架构中有一个错误,您可以在此处找到:https ://github.com/OAI/OpenAPI-Specification/issues/260我使用的库仍在使用旧架构。并且更新解决了这个问题。虚张声势的客户端尝试将整个数据加载到内存中,这使得它无法用于我的用例,但总的来说,如果您使用最新的模式并且您的数据适合内存,则它可以正常工作。