質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

0回答

4181閲覧

swaggerでレスポンスデータに複数ファイルを指定してダウンロードさせたい

toshi_yama

総合スコア133

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

HTTP

HTTP(Hypertext Transfer Protocol)とはweb上でHTML等のコンテンツを交換するために使われるアプリケーション層の通信プロトコルです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2017/01/20 08:57

編集2022/01/12 10:55

お世話になります。
現在 swagger + flask + python を使って、あるリクエストに対応したレスポンスを生成しております。

例えば Response body を返す際に以下のようにResponse headerに

content type application/octet-stream

を設定して返却した場合、1つのダウンロードリンクがResponse body内に表示されます。

イメージ説明

このダウンロードリンクを複数生成させたい場合に
以下のようにResponse body を生成して返してみましたが、この内容が出力されるだけで、ファイルとして生成されませんでした。

--f03062f99e68458190d290da0acfbe2a Content-Disposition: form-data; attachment=file; filename="test1" Content-Type: application/octet-stream test1 message --f03062f99e68458190d290da0acfbe2a Content-Disposition: form-data; attachment=file; filename="test2" Content-Type: application/octet-stream test2 message --f03062f99e68458190d290da0acfbe2a Content-Disposition: form-data; attachment=file; filename="test3" Content-Type: application/octet-stream test3 message --f03062f99e68458190d290da0acfbe2a--

Response Headers

{ "date": "Fri, 20 Jan 2015 01:11:11 GMT", "server": "nginx/1.10.0", "connection": "keep-alive", "content-type": "multipart/form-data" }

そこで知りたいのは、どういった形式でもいいので
一つのリクエストで複数のダウンロードリンクを生成する術があるのかというのが
知りたい内容となります。
GET/POST 、Response bodyをこうしてみれば良い等

※ multipart/form-data を使っている経緯としては、swagger-ui.jsのコードで
このコンテンツタイプを解析しているコードがあるのを確認できたからです。

複数ファイルを tarで固める。といった事はできております。
不足情報あれば随時追記いたします。

バージョン情報
swagger-ui 2.2.10
Python 3.4.4
flask 0.10.1

#参照
https://github.com/swagger-api/swagger-core/issues/1387
http://swagger.io/specification/
(stackoverflow)
http://stackoverflow.com/questions/41802484/swagger-does-not-support-downloading-of-multiple-files

宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問