REST APIとは?
REST(Representational State Transfer)は、Webサービスを設計するためのアーキテクチャスタイルです。
GET
:リソースの取得
POST
:新しいリソースの作成
PUT
:既存リソースの更新
DELETE
:リソースの削除
REST APIの特長
アドレス可能性(Addressability)
:すべてのリソースは一意のURIでアドレス可能です。
これにより、特定のリソースを簡単に参照および操作することができます。
ステートレス性(Stateless)
:各リクエストは独立しており、サーバーはクライアントの状態を保持しません。
つまり、各リクエストは必要なすべての情報を含んでいる必要があります。
接続性(Connectability)
:クライアントとサーバー間の相互作用が確立しやすく、HTTPの標準機能(キャッシュ、認証、ステータスコードなど)を活用できます。
統一インターフェース(Uniform Interface)
:一貫性のあるインターフェースを提供し、リソース操作が統一的に行えます。
これにより、異なるサービス間での統合が容易になります。
エンドポイントの設計
REST APIのエンドポイントは、リソースを明確に表すURIで設計します。
例えば、ユーザーを操作するためのエンドポイントは以下のようになります
GET /users
:すべてのユーザーを取得
GET /users/{id}
:特定のユーザーを取得
POST /users
:新しいユーザーを作成
PUT /users/{id}
:特定のユーザーを更新
DELETE /users/{id}
:特定のユーザーを削除
リクエストとレスポンス
REST APIでは、リクエストとレスポンスのフォーマットとしてJSONが一般的に使用されます。
POST /users HTTP/1.1
Content-Type: application/json
{
"name": "John Doe",
"email": "john.doe@example.com"
}
HTTP/1.1 201 Created
Content-Type: application/json
{
"id": 1,
"name": "John Doe",
"email": "john.doe@example.com",
"createdAt": "2024-07-21T12:34:56Z"
}
まとめ
REST APIは、HTTPを介してリソースを操作するためのシンプルで一貫性のあるインターフェースを提供するアーキテクチャスタイルです。