2016-12-03 2 views
0

Swaggerでエンドポイントを指定するPythonベースのRESTサービスを実装しました。クライアント側ではbravado libraryを使用します。この組み合わせは、1つのエンドポイントを除くすべてのエンドポイントで正常に機能します。そのエンドポイントは大きなデータセットを返さなければなりません。大きなデータセットはメモリに保持できず、ストリームアウトする必要があります。私はhereと記載されているように、1つのレコードを1つの行に1行ずつ送りたいと思います。 specificationによれば、データタイプとして "file"を使用することは可能ですが、入力ファイル(ファイルアップロード)の例やファイルのダウンロードの例は見つかりませんでした。swagger.ymlで「ストリーミング」レスポンスを指定して、派閥クライアントにデータを段階的に送信する

スワッガーを介してストリーム出力を指定する方法と、勇敢なクライアント経由でそれを取得する方法を教えてください。

答えて

0

Swaggerスキーマには、次のようにバグがありました。https://github.com/OAI/OpenAPI-Specification/issues/260私が使用したライブラリはまだ古いスキーマを使用していました。そして、アップデートによって問題が解決されました。勇敢なクライアントは、データ全体をメモリにロードしようとしますが、これは使用例では使用できなくなりますが、一般的には最新のスキーマを使用し、データがメモリに収まる場合に機能します。

関連する問題