前提
PythonのFlaskでバックエンドAPIをつくっています(WEBアプリのフロントにHTMLを返すものではなく、別のバックエンドにデータを返すためのAPIです)。
実現したいこと
FlaskのAPIからタプルを返却したい(タプル型自体がFlaskの処理結果として返却できることはわかっているのですが、どのように記述すれば可能なのかがわかりません)。
発生している問題・エラーメッセージ
タプルをステータスコードとHTTPヘッダー部分を含めて返却させるコートを書いたものの、以下のエラーが出てしまいました
TypeError: The view function did not return a valid response. The return type must be a string, dict, list, tuple with headers or status, Response instance, or WSGI callable, but it was a tuple.
該当のソースコード
python
1#デコレーターの記述を省略しています 2def main(request): 3 resp = "this is a test" 4 status_code = "200" 5 headers = {"header1": "one", "header2": "two", "header3": "three"} 6 return (resp, status_code, headers)
試したこと
最初はステータスコードとヘッダーを省略していましたが、ステータスコードかヘッダーのいずれかか両方を含めてくださいというエラーがでたので、記述しました。しかし、上記のエラーになってしまいました。
補足情報(FW/ツールのバージョンなど)
Google Cloud function上でのデプロイになります(Google Cloud functionのpythonランタイム自体がFlask)
前の質問と同様、WebAPIでpythonのオブジェクトを直接返すことはできないはずですが「タプル型自体がFlaskの処理結果として返却できる」とはどういう意味でしょうか?
また、タプルを返そうとして、質問にあるエラーが出たときのコードも提示していただけますか。
https://teratail.com/help/question-tips#questionTips34
> 実際に起きた結果を示しましょう。例えば、「○○というエラーが表示された」、「レイアウトがこのように崩れてしまった」等です。あなたの想像ではなく、実際に起きたことを述べましょう。
> 実際に起きたことと、あなたの予想をはっきり分けて書きましょう。
> 表示されたエラーメッセージをそのままコピー&ペーストしましょう。自分でタイプしなおしたり、自分で解釈・要約しようとしてはいけません。
> 大事な部分が抜け落ちたり情報が違うものになってしまう可能性があるからです。
回答1件
あなたの回答
tips
プレビュー