curl でHTTPのMethod指定する
GETはすぐ覚えらるけど、GETと同等に使うPOSTはちょっとコツが居る。
curl で POST などの HTTP のメソッドを指定するには、 -X HTTP_METHOD
をつけて method を指定する。
curl -X GET curl -X DELETE curl -X POST --data 'name=value&id=1' curl -X PUT --data 'name=value&id=1'
ファイルを送信する場合にもPOSTをつかう
POSTと ファイル名指定の -F と合わせ技
curl -X POST -F name=@path/to/name curl -X PUT -F name=@path/to/name
JSON をPOST送信する場合には
JSONを送る場合は、大抵の場合がPOSTなので、POSTと合わせて、--data
で指定する。
curl -X POST --data '{"id":1}' curl -X PUT --data '{"id":1}'
content-typeを状況により追加で付ける必要がある。
curl -X POST --data '{"id":1}' -H "Content-Type: application/json" curl -X PUT --data '{"id":1}' -H "Content-Type: application/json"
ちなみに、 --data
つけるとPOST
わたしはPOSTやPUTであることを明示することで自分自身への確認としていますが。
--data
をつけるだけでPOSTになる・
つまり、次の2つは同じと言える。
curl -X POST --data '{"id":1}' curl --data '{"id":1}'
REST なAPI好き
RESTなAPI好きなんだけど、HTTPメソッドで切り分けるとすると、リクエスト側でメソッド指定するのが不便ですねぇ。
2019-02-06
自分で探すときに検索でマッチしないのでキーワードを追加。