私はCURLを使用してurlパラメータでDELETE
リクエストを送信しようとしています。私がやっている:
curl -H application/x-www-form-urlencoded -X DELETE http://localhost:5000/locations` -d 'id=3'
しかし、サーバーにはパラメータid = 3が表示されません。GUIアプリケーションを使用してみたところ、http://localhost:5000/locations?id=3
のようにURLを渡しても正常に動作します。私は本当にこのGUIアプリケーションよりもむしろCURLを使用したいと思います。誰が私が間違っていることを指摘してもらえますか?
「application/x-www-form-urlencode」ヘッダー、なぜですか。やってみよう:
curl -X DELETE 'http://localhost:5000/locations?id=3'
または
curl -X GET 'http://localhost:5000/locations?id=3'
Felipsmartinsは正しいです。
これがPOST要求ではない場合、実際には-d/ - dataオプションを使用できないためです。しかし、これは-Gオプションを使用した場合でも可能です。
つまり、これができるということです。
curl -X DELETE -G 'http://localhost:5000/locations' -d 'id=3'
ここでは少しばかげていますが、あなたがコマンドラインを使っていて、たくさんのパラメータを持っている場合、それはもっときれいになります。
CURLコマンドは通常非常に長いのでこれを言っています、それで改行をエスケープする複数の行でそれを作る価値があります。
curl -X DELETE -G \
'http://localhost:5000/locations' \
-d id=3 \
-d name=Mario \
-d surname=Bros
Zshを使うなら、これは明らかにより快適です。 zshでは1行ずつ移動できるため、前のコマンドを再編集する必要があるときがあります。 (ただ言って)
それが役に立てば幸い。