クイックリファレンス

RESTful API チートシート

RESTful API のクイックリファレンス:HTTPメソッドの意味論、ステータスコード規約、JSONエラー形式、ヘッダー、べき等性を解説。

· 公開日

REST(Representational State Transfer)は、HTTP 上でネットワーク化された Web API サービスを設計するためのアーキテクチャスタイルです。

HTTP メソッドとセマンティクス

メソッド 対象の操作 安全性 べき等性
GET リソースの表現を取得する はい はい
POST 新しいサブリソースを作成する いいえ いいえ
PUT リソースの表現全体を置換する いいえ はい
PATCH リソースのプロパティを部分的に更新する いいえ いいえ
DELETE リソースを削除する いいえ はい
HEAD レスポンスボディなしでヘッダーのみ取得する はい はい
OPTIONS エンドポイントがサポートする HTTP メソッドを照会する はい はい

よく使われる HTTP レスポンスステータスコード

成功 (2xx)

  • 200 OK: リクエスト成功(ボディに表現が含まれます)。
  • 201 Created: リソースの作成に成功(Location ヘッダーで URI を通知)。
  • 202 Accepted: 非同期処理としてリクエストを受け付けました。
  • 204 No Content: 処理は成功し、レスポンスボディはありません(DELETE で一般的)。

クライアントエラー (4xx)

  • 400 Bad Request: 不正な構文、無効なパラメータ、またはバリデーション失敗。
  • 401 Unauthorized: 認証情報が不足しているか無効です。
  • 403 Forbidden: 認証済みですが、リソースへのアクセス権限がありません。
  • 404 Not Found: リソースの URI が存在しません。
  • 409 Conflict: 現在のリソース状態と競合しています(例:一意キーの重複)。
  • 422 Unprocessable Entity: 構文は正しいがドメインの意味的バリデーションに失敗しました。
  • 429 Too Many Requests: レート制限を超過しました。

サーバーエラー (5xx)

  • 500 Internal Server Error: サーバー側の汎用未処理エラー。
  • 502 Bad Gateway: アップストリームサーバーが無効なレスポンスを返しました。
  • 503 Service Unavailable: サーバーが過負荷またはメンテナンス中です。

標準 JSON エラーエンベロープ

{
  "error": {
    "code": "VALIDATION_ERROR",
    "message": "The email address provided is already registered.",
    "details": [
      {
        "field": "email",
        "issue": "unique_constraint_violated"
      }
    ]
  }
}

リファレンス

関連テーマ