🍏

RESTとは

2025/02/19に公開

▼自分の質問
以下の内容をエンジニア2年目でもわかるように説明してください。
 ・REST
 ・RESTful

@chatGPTからの回答

REST(Representational State Transfer)

RESTは、WebサービスやAPIを設計するための アーキテクチャスタイル(設計の考え方)の一つです。
簡単に言うと、「Webの仕組みをうまく活用して、シンプルで使いやすいAPIを作る方法」です。

RESTの基本原則

RESTでは、以下のような考え方を大事にします。

  1. リソース(資源)を一意のURLで表現する
    例:ユーザー情報を取得するなら、https://example.com/users/1

  2. HTTPメソッドを適切に使う
    GET(データ取得)
    POST(新規作成)
    PUT(更新)
    DELETE(削除)

  3. ステートレス(Stateless)であること

  • サーバーはリクエストごとに完結し、過去のリクエストの情報を持たない
  1. 統一されたインターフェースを持つ
  • 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