はじめに
こんにちは!
前回の記事では「APIってそもそも何?」という話をしました。
今回はそこから一歩進んで、Web開発でほぼ必ず登場する REST API についてまとめていきます。
4つだったり6つだったり原則があるみたいですが、とりあえず今回は簡単に理解するために書きます。
REST APIって何?
REST API = Webのルールに従って、データをやりとりするためのAPIの“スタイル”
ポイントは「REST という決まりに沿っているかどうか」です。
RESTは“やりとりのマナー”のようなもの
例えばレストランでは
- 食器の置き方
- 注文の仕方
- サービスの流れ
など、ある程度決まった“マナー”がありますよね。
RESTもそれと同じで、APIの使い方やデータの扱い方に一定の“お作法”を決めようという考え方です。
このお作法に従っているAPIが REST API と呼ばれます。
REST APIの重要ポイント
RESTには細かいルールがありますが、初学者が理解すべきは この4つのメソッド です
| メソッド | 意味 | やること |
|---|---|---|
| GET | 取得 | データを見る |
| POST | 作成 | 新しいデータを追加 |
| PUT / PATCH | 更新 | 既存データを変更 |
| DELETE | 削除 | データを消す |
つまり、REST API = これらのメソッドを使ってデータを扱うAPI です。
URLにもルールがある
RESTでは URL(エンドポイント)が“もの(リソース)”を表す という考え方が使われます。
例:ユーザーというリソース
/users
よくあるRESTの例
| 操作 | URL | メソッド |
|---|---|---|
| ユーザー一覧を見る | /users | GET |
| 新規ユーザー作成 | /users | POST |
| 特定ユーザー取得 | /users/1 | GET |
| 特定ユーザー更新 | /users/1 | PUT または PATCH |
| 特定ユーザー削除 | /users/1 | DELETE |
これができると、どのアプリでも扱いが統一されて理解しやすいというメリットがあります。
JSONとセットで使われることが多い
REST APIでは返り値として JSON がよく使われます。
例:
{
"id": 1,
"name": "John",
"role": "admin"
}
フロントエンド(React/Vue)も、モバイルアプリも、Laravelも、
JSONが共通言語になっているので便利!
REST APIのメリット
✔ とにかくわかりやすい
URLとメソッドを見れば何をするAPIかわかる。
✔ どの言語でも利用しやすい
LaravelでもRubyでもJavaでも同じパターン。
✔ 拡張・保守がしやすい
“お作法”があるからチーム開発が楽。
REST APIのイメージを図で表すと…
[フロント] → GET → /posts → [サーバー] → 投稿一覧を返す(JSON)
[フロント] → POST → /posts → [サーバー] → 新規投稿を登録
[フロント] → DELETE → /posts/1 → [サーバー] → 投稿1を削除
ただURLに対して決まったメソッドで操作しているだけ!
これがRESTのシンプルさです。
まとめ
- REST API = Webの“お作法”に従ったAPI
- 特徴は GET / POST / PUT / DELETE の4つ
- URLは「データそのもの」を表す
- JSONでやりとりすることが多い