REST API について
これから「REST API」についてまとめていきます。
「REST API」とは、RESTの原則に基づいて設計されたAPIのことです。
クライアント(PCやスマホなど)はHTTP を利用して、作成、更新、検索、削除などの操作ができます。以下の表で説明します。
CRUD操作 | メゾット | 説明 |
---|---|---|
Create | POST | 作成(リソース名が未定) |
Create | PUT | 作成(リソース名が決まっている) |
Read | GET | 読み取り |
Update | PUT | 更新 |
Delete | DELETE | 削除 |
では、このメゾットを安全(リクエストを送信してもリソースは変更されない)と冪等(複数回行っても同じ操作)に分けていきます。
メゾット | 安全 | 冪等 |
---|---|---|
GET | ○ | ○ |
HEAD | ○ | ○ |
POST | × | × |
PUT | × | ○ |
DELETE | × | ○ |
安全な操作は読み取り専用で、データが変わるなどの副作用がなく安心して使うことができます。冪等であれば操作が決まっているので、後の処理が予測できて使いやすいです。
次にURIごとのメゾットについて見ていきましょう。
URI | HTTP method |
---|---|
/movies | GET |
/movies | POST |
/movies/1 | GET |
/movies/1 | PUT |
/movies/1 | DELETE |
このように全体や特定のユーザ操作を指定できます。
次にURI設計で考慮することは以下の通りです。
- URIは短く入力しやすいものに。
- 人が読んで理解できる誤認識を防ぐ。英単語を使う。
- 大文字小文字が混在していない。(すべて小文字)
- 単語は_で繋げる。単語を連結するなら\で区切るのが望ましい。
- 単語は複数形を利用する。
- %2543536%3536のようなエンコードを必要とする文字は使わない。
- サーバ側のアーキテクチャを反映されていない。
- 意味の分からないものは含めない。
- ルールが統一されている。
また、よく使うステータスコードについて大まかに押さえておきましょう
ステータスコード | 意味 |
---|---|
100番台 | 情報 |
200番台 | 成功 |
300番台 | リダイレクト |
400番台 | クライアントサイドに起因するエラー |
500番台 | サーバーサイドに起因するエラー |
エラーの番号によって原因を大まかに特定できるので覚えておきましょう。
これでREST APIの説明を終わります。