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で新しいデプロイをトリガーします。

試してみる — HTTP Method Reference

フルツールを開く