質問: いつもお世話になっております。 現在Python3.xとFlaskでWebAPIを作成しております。 とあるエンドポイント(GETメソッド)にて、`414 Request-URI Too Large`というエラーが発生してしまします。 これはリクエストURIが長すぎる(サイズが大きい)ために、サーバーがリクエストを拒否しているということのようです。 ですが、行いたい処理は、文字列を受け取って(仕様上3000文字以上になることが多いです)、ごにょごにょして結果をJSON返すという処理でして、データベースには保存しません。 この場合、APIの設計としてはGETメソッドにするのが正しいと思ったのですが、たしかにGETメソッドではクエリにくっついてしまうので確実に長くなります。 POSTメソッドならば、仕様上は上限がないと聞きました。 このような場合、サーバーにデータを保存するような処理を行わなくてもPOSTメソッドで受け取るほうが良いのでしょうか? よろしくお願いいたします。
回答: > > このような場合、サーバーにデータを保存するような処理を行わなくてもPOSTメソッドで受け取るほうが良いのでしょうか? > > > 送信データ量が多いのであれば、POSTリクエストとすることでよいかと思います。 HTTPの仕様上あまり望ましくはありませんし、実装によってはデータを受け取ることができない場合もあるかと思いますが、下記のような形でGETリクエストにリクエストボディを付与して送信することも可能なようです。 cURLでbody付きのGETリクエスト - Qiita