はじめに
RestAPIのテストで、「Postman」などのツールが使えれば良いですが、職場でダウンロードが禁止だったりして使えない場合があります。
ここでは、curlコマンドを使用してRestAPIを実行する方法を記載します。
GET通信
・[URL]の部分は書き換えてください。
・クエリパラメータを使用する場合はURLの後ろに「?」をつけてからパラメータを記載してください。(URL?key=value)
curl -X GET [URL]
以下はサンプルです。
curl -X GET https://example.com/get_api?param=hoge
POST通信
・[URL]の部分は書き換えてください。
・[JSON形式でのBody]はJSONでBodyを書いてください。({“param”: “value”})
curl -d '[JSON形式でのBody]' -H "Content-Type: application/json" -X POST [URL]
以下はサンプルです。
curl -d '{ param: "value" }' -H "Content-Type: application/json" -X POST https://example.com/post_api
DELETE通信
・[URL]の部分は書き換えてください。
・[JSON形式でのBody]はJSONでBodyを書いてください。({“param”: “value”})
curl -d '[JSON形式でのBody]' -H "Content-Type: application/json" -X DELETE [URL]
以下はサンプルです。
curl -d '{ param: "value" }' -H "Content-Type: application/json" -X DELETE https://example.com/delete_api
エラー
curlを実行した時に、以下のエラーがでたら、URLが間違えている可能性が高いので、その部分を確認してください。
curl: (52) Empty reply from server
改行
curlが長くなると、改行することで可読性が上がり、誤字などが見つけやすくなります。
コマンド途中での改行は以下のように「\」(バックスラッシュ)を使用することで改行できます。
curl \
-d '{ param: "value" }' \
-H "Content-Type: application/json" \
-X POST https://example.com/post_api
レスポンス結果を整形
以下のコマンドを実行し、Homebrewにてjqをインストールする。
brew install jq
上記実施後、curlコマンドの末尾に「|」(パイプライン)を使用してjqを繋げる事でレスポンスが整形されて取得できます。
curl -X GET https://example.com/get_api?param=hoge | jq