【curl】REST API の操作

【curl】REST API の操作

APIの開発やテストでは、curlを使って各HTTPメソッドをリクエストする必要があります。ここでは、REST APIの基本的な操作でよく使われるGET, POST, PUT, DELETEメソッドをcurlで実行する方法を書いていきます。

curl #curl#REST#API

【curl】REST API の操作

サムネイル

APIの開発やテストでは、curlを使って各HTTPメソッドをリクエストする必要があります。ここでは、REST APIの基本的な操作でよく使われるGET, POST, PUT, DELETEメソッドをcurlで実行する方法を書いていきます。

更新日: 7/23/2025

GET

GETはリソースを取得するためのメソッドで、curlのデフォルト動作です。メソッドを明示的に指定する必要はありません。クエリパラメータを付けてリクエストする場合は、URL全体を引用符(")で囲むのが一般的のようです。

# クエリパラメータを付けてユーザーリストを取得
curl "https://api.example.com/users?page=1&limit=10"

POST

新しいリソースを作成するPOSTリクエストですが、-Xオプションでメソッドを指定し、-dオプションで送信するデータ(body)を指定します。

Webフォームのようなデータを送信する場合は、次のように記述します。このときContent-Typeapplication/x-www-form-urlencodedとして扱われます。

# formデータをPOST
curl -X POST -d "name=山田&[email protected]" https://api.example.com/users

JSON形式のデータを送信する場合は、-HオプションでContent-Typeヘッダーをapplication/jsonに指定することが重要です。

# JSONデータをPOST
curl -X POST \
  -H "Content-Type: application/json" \
  -d '{"name":"山田","email":"[email protected]"}' \
  https://api.example.com/users

PUT / PATCH

既存のリソースを更新する際は、PUT(全体更新)またはPATCH(部分更新)を使用します。基本的な構文はPOSTと似ており、-XオプションでHTTPメソッドを指定します。

# IDが123のユーザー情報を更新 (PUT)
curl -X PUT \
  -H "Content-Type: application/json" \
  -d '{"name":"山田太郎","email":"[email protected]"}' \
  https://api.example.com/users/123

DELETE

リソースを削除するDELETEリクエストですが、-X DELETEでメソッドを指定します。通常、bodyは含みません。

# IDが123のユーザーを削除
curl -X DELETE https://api.example.com/users/123

JSONレスポンスの整形

APIのレスポンスはJSON形式であることが多いですが、ターミナル上では一行で表示されて読みにくい場合があります。このような時、jqというコマンドラインツールとパイプ(|)で組み合わせると、レスポンスを整形して表示できます。curlに**-s**(サイレントモード)を付けると、進捗表示が消えて純粋なJSONデータだけをjqに渡せるため便利です。

# APIのレスポンスをjqで整形して表示
curl -s "https://api.example.com/users" | jq .

検索

検索条件に一致する記事が見つかりませんでした