私はAPIサーバーとして使用しており、最初のメソッドflask-restfulを構築しています。PUTフラスコからインポートされたリクエストを使用request.formして、次の cURL コマンドで問題なくデータにアクセスできます。
curl http://127.0.0.1:5000/api/v1/system/account -X PUT -d username=asdas -d email=asdasd@test.com
私のPUT方法では、ユーザー名と電子メールの両方を問題なくログアウトします。
def put(self):
print 'SystemAccountPut'
print request.form['username']
print request.form['email']
return
出力:
SystemAccountPut
asdas
asdasd@test.com
axios プロジェクトを使用して API 呼び出しを行うアプリがあります。axios がPUTデータを形成しようとすると、機能しrequest.formなくなります。axios が Chrome Dev Console から cURL コマンドに変換された呼び出しを次に示します。
curl 'http://127.0.0.1:5000/api/v1/system/account' -X PUT -H 'Pragma: no-cache' -H 'Origin: http://127.0.0.1:5000' -H 'Accept-Encoding: gzip, deflate, sdch' -H 'Accept-Language: en-US,en;q=0.8' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/48.0.2564.116 Safari/537.36' -H 'Content-Type: application/json;charset=UTF-8' -H 'Accept: application/json, text/plain, */*' -H 'Cache-Control: no-cache' -H 'Referer: http://127.0.0.1:5000/settings' -H 'Connection: keep-alive' --data-binary '{"username":"asdas","email":"asdasd@test.com"}' --compressed
request.form['username']上記と同じ方法でrequest.form['email']、空です。 request.dataただし、フォームデータが含まれており、request.get_json()フォームデータを JSON 形式で出力します。
私の質問は、この場合、フォーム データを取得するために何を使用すればよいですか? request.form最初の curl コマンドは、必要なデータが含まれているためクリーンですが、request.data空です。2 番目の cURL コマンドはrequest.form壊れたままですが、データを取り込みrequest.dataます。両方の cURL のケースでフォーム データを取得する方法に関するベスト プラクティスはありますか?