POSTメソッド — リソースの作成
REST APIにおけるリソース作成、データ送信、サーバーサイドアクションの実行のためのPOSTメソッドの詳細ガイド。
Unsafe Methods
詳細な説明
リソース作成のためのPOST
POSTメソッドは指定されたリソースにデータを送信し、通常サーバー上の状態変更を引き起こします。REST APIにおいて、POSTはサーバーがリソース識別子を割り当てる新しいリソースの作成に使用される標準的なメソッドです。
プロパティ
| プロパティ | 値 |
|---|---|
| 安全 | いいえ |
| 冪等 | いいえ |
| キャッシュ可能 | 明示的なヘッダーがある場合のみ |
| リクエストボディ | はい(必須) |
リソースの作成
POST /api/users HTTP/1.1
Host: api.example.com
Content-Type: application/json
{
"name": "Charlie",
"email": "charlie@example.com",
"role": "editor"
}
成功レスポンス
HTTP/1.1 201 Created
Content-Type: application/json
Location: /api/users/42
{
"id": 42,
"name": "Charlie",
"email": "charlie@example.com",
"role": "editor",
"createdAt": "2026-01-15T10:30:00Z"
}
201 Createdステータスと新しいリソースを指すLocationヘッダーは、リソース作成の標準的な成功レスポンスです。
POSTが冪等でない理由
同じPOSTリクエストを2回呼び出すと、異なるIDを持つ2つの別個のリソースが作成されます。これは特定のURIのリソースを置き換えるPUTとの重要な違いです。POSTリクエストのネットワークリトライは、重複を避けるために慎重に処理する必要があります。
リソース作成以外の用途
POSTは以下にも使用されます:
- フォーム送信 — HTMLフォームのデフォルトはPOST
- ファイルアップロード —
multipart/form-dataを使用 - RPCスタイルの呼び出し —
/api/send-emailのようなアクションのトリガー - バルク操作 — GETのクエリ文字列が長すぎる場合
ユースケース
登録フォームがPOSTでユーザーデータを送信して新しいアカウントを作成します。ECサイトのチェックアウトがPOSTで注文詳細を送信して支払いを処理し注文レコードを作成します。CI/CDシステムがPOST /api/deployで新しいデプロイをトリガーします。