1

私は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 のケースでフォーム データを取得する方法に関するベスト プラクティスはありますか?

4

1 に答える 1