この用語をシェア
REST APIとは
REST API(RESTful API)は、REST(Representational State Transfer)アーキテクチャ原則に基づいて設計されたAPIです。2000年にRoy Fieldingによって提唱されたアーキテクチャスタイルで、現在のWeb APIのデファクトスタンダードとなっています。
RESTの原則
1. ステートレス
サーバーは、クライアントの状態を保持しません。各リクエストは独立しており、必要な情報をすべて含む必要があります。
2. 統一インターフェース
HTTP メソッド(GET、POST、PUT、DELETE)を使用して、リソースに対する操作を統一的に表現します。
3. リソースベース
URL でリソースを特定し、HTTPメソッドでそのリソースに対する操作を表現します。
HTTPメソッドとCRUD操作
- GET:リソースの取得(Read)
- POST:リソースの作成(Create)
- PUT:リソースの更新(Update)
- DELETE:リソースの削除(Delete)
REST APIの利点
- シンプルさ:HTTP を基盤とするため理解しやすい
- スケーラビリティ:ステートレスなため水平スケーリングが容易
- キャッシュ可能:HTTP キャッシュメカニズムを活用可能
- 言語非依存:任意のプログラミング言語で実装可能
実装例
// ユーザー一覧取得
GET /api/users
// 特定ユーザー取得
GET /api/users/123
// 新しいユーザー作成
POST /api/users
{
"name": "田中太郎",
"email": "tanaka@example.com"
}
// ユーザー情報更新
PUT /api/users/123
{
"name": "田中次郎",
"email": "tanaka2@example.com"
}
// ユーザー削除
DELETE /api/users/123
ステータスコード
- 200 OK:成功
- 201 Created:作成成功
- 400 Bad Request:リクエストエラー
- 401 Unauthorized:認証エラー
- 404 Not Found:リソースが見つからない
- 500 Internal Server Error:サーバーエラー
関連技術
- JSON:データ交換フォーマット
- OAuth:認証・認可
- OpenAPI:API仕様書
- GraphQL:REST APIの代替技術