201 Created リクエストの結果新しいリソースが作成されたHTTPステータスコード

スポンサーリンク
スポンサーリンク

201 Createdについて

201 Createdの概要

リクエストの結果新しいリソースが作成されたHTTPステータスコード

201 Created

概要 201 Createdは、クライアントのリクエストが成功し、新しいリソースが作成されたことを示すHTTPステータスコードです。このコードは主にPOSTリクエストの応答として返され、新規リソースの場所(URL)はレスポンスヘッダーのLocationフィールドで指定されます。

意味 クライアントのリクエストにより、新しいリソースが正常に作成されました。

201 Createdはどのような時に返されるか

  • POSTリクエストで新しいリソースが作成された場合
  • PUTリクエストで指定されたリソースが新規作成された場合
  • REST APIで新しいデータエントリやオブジェクトが追加された場合

201 Createdの具体例

POSTリクエストによる新規リソースの作成

POST /api/resource HTTP/1.1  
Host: example.com  
Content-Type: application/json  

{ "name": "Sample Resource", "type": "example" }  

レスポンス例:

HTTP/1.1 201 Created  
Location: https://example.com/api/resource/123  
Content-Type: application/json  

{ 
  "id": 123, 
  "name": "Sample Resource", 
  "type": "example" 
}

解説: クライアントがPOSTリクエストを送信し、サーバーが新しいリソースを作成した場合に201ステータスコードを返します。レスポンスヘッダーのLocationには作成されたリソースのURLが指定されます。

PUTリクエストによるリソース作成

PUT /api/resource/123 HTTP/1.1  
Host: example.com  
Content-Type: application/json  

{ "name": "Updated Resource", "type": "example" }  

レスポンス例:

HTTP/1.1 201 Created  
Content-Type: application/json  

{ 
  "id": 123, 
  "name": "Updated Resource", 
  "type": "example" 
}

解説: クライアントがPUTリクエストを使用して指定されたリソースを新規に作成した場合にも、201ステータスコードが返されます。PUTではリソースの作成と更新の両方が行われる可能性がありますが、新規作成の場合には201が適切です。

注意点

201 Createdを返す際の注意点:

  • Locationヘッダーの設定
    新しく作成されたリソースのURLをLocationヘッダーで明示する必要があります。
  • 適切なメソッドの選択
    新規リソースの作成には通常POSTまたはPUTを使用しますが、適切なメソッドを選択してください。

関連するHTTPステータスコードとの比較

201 Createdと関連性のあるステータスコードについて解説します。

  • 200 OK: リクエストが成功した場合に使用されますが、新しいリソースが作成された際には201が推奨されます。
  • 204 No Content: リクエストが成功したが、レスポンスボディを返さない場合に使用されます。

これらの違いを理解することで、適切な用途で201ステータスコードを利用できます。