Iは、異なるエンドポイントを提供することによって、回避策を見つけた:
swagger: "2.0"
paths:
/something/json:
get:
produces:
- application/json
responses:
200:
schema:
type: object
properties:
...
/something/csv:
get:
produces:
- text/csv
responses:
200:
schema:
type: string
各get
内部異なるproduces:
注ず、最上位レベルでいずれ。
CSVエンドポイントの実際の応答ヘッダである:
Content-Length:64
Content-Type:text/csv; charset=utf-8
Date:Fri, 26 Aug 2016
Iはまた、(直上記コードの後)YAMLにヘッダを追加しようとしているが、それは実際の応答ヘッダを変更しない。
Resource interpreted as Document but transferred with MIME type application/json
、または:私はコンソールメッセージを(私はconnexionを使用して、これを構築しています)を取得エンドポイントのいずれかで
headers:
Content-type:
type: string
description: text/csv; charset=utf-8
Content-Disposition:
type: string
description: attachment; filename=data.csv
Resource interpreted as Document but transferred with MIME type text/csv
また、CSVファイルがブラウザに表示されていない、ダウンロードするファイルとして解釈されます。
...私はそれがまだそれほど正しかったとは思わない。
さらなる調査の後、唯一の解決策は、パラメータではなく、さまざまなフォーマットに異なるエンドポイントを使用することだと私は思っています。 (https://github.com/OAI/OpenAPI-Specification/issues/146に例があります)。そうですか? –
実際に私はこのことが結びついているのかどうかは確かではありません...二つの異なる "生成物"を指定すると 'TypeError: 'dict'オブジェクトは呼び出し可能ではありません 'というエラーにつながるようです。 –