🍏
RESTとは
▼自分の質問
以下の内容をエンジニア2年目でもわかるように説明してください。
・REST
・RESTful
@chatGPTからの回答
REST(Representational State Transfer)
RESTは、WebサービスやAPIを設計するための アーキテクチャスタイル(設計の考え方)の一つです。
簡単に言うと、「Webの仕組みをうまく活用して、シンプルで使いやすいAPIを作る方法」です。
RESTの基本原則
RESTでは、以下のような考え方を大事にします。
-
リソース(資源)を一意のURLで表現する
例:ユーザー情報を取得するなら、https://example.com/users/1 -
HTTPメソッドを適切に使う
GET(データ取得)
POST(新規作成)
PUT(更新)
DELETE(削除)
-
ステートレス(Stateless)であること
- サーバーはリクエストごとに完結し、過去のリクエストの情報を持たない
- 統一されたインターフェースを持つ
- APIの設計が一貫していると、理解しやすく、使いやすくなる
RESTful
「RESTの原則をしっかり守った設計や実装」のことを RESTful と言います。
つまり、「RESTっぽいAPI」のことですね。
RESTfulなAPIの例
たとえば、ユーザー情報を操作するAPIを考えてみます。
操作 | HTTPメソッド | URL |
---|---|---|
ユーザー一覧を取得 | GET |
/users |
ユーザー詳細を取得 | GET |
/users/{id} |
新しいユーザーを作成 | POST |
/users |
ユーザー情報を更新 | PUT |
/users/{id} |
ユーザーを削除 | DELETE |
/users/{id} |
これが「RESTfulなAPI」の典型的な形です。
一方で、以下のような設計はRESTfulではないと言えます。
❌ よくない例(RESTfulではないAPI)
・ /getUser?id=1(HTTPメソッドにGETを使わず、URLで動詞を使っている)
・ /deleteUser/1(DELETE /users/1 で表現すべき)
RESTとRESTfulの関係
・ RESTは「考え方」
・ RESTfulは「RESTの考え方に従って作られたAPI」
まとめ
- REST → Web APIを設計するための考え方
- RESTful → RESTの考え方をしっかり守って作られたAPI
実際にAPIを作るときは、RESTの原則を意識して設計すると、使いやすくて拡張しやすいAPIになりますよ!
Discussion