REST API設計
要点
- REST APIとは、「何を(リソース)」と「何をするか(操作)」を分けて考える、APIの設計スタイルです。
- 「何を」はURLで、「何をするか」はHTTPメソッド(GET・POST・PUT・DELETEなど)で表します。
- この考え方に沿って設計すると、誰が見ても意味の分かりやすいAPIになります。
REST APIとは何か
REST(Representational State Transfer)は、Web上のAPIをどう設計するかについての考え方の1つです。中心となるのは「操作したい対象(リソース)をURLで表し、その対象に対して何をするかをHTTPメソッドで表す」という発想です。
例えば「ユーザー一覧を取得する」というAPIは、「ユーザーという対象(リソース)」に対して「取得するという操作」を組み合わせて表現します。
リソース指向のURL設計
REST APIのURLは、動詞(〜する)ではなく、名詞(対象そのもの)で設計するのが基本です。「何をするか」はURLではなくHTTPメソッド側で表すためです。
https://api.example.comAPIサーバー/usersリソース(複数形の名詞)/123個別のID/getUser のような動詞入りのURLではなく、/users/123 のように「対象+ID」で表すのがリソース指向の考え方です。
ぽち先生のヒント図書館の本棚の背表紙のようなものです。棚には「取ってください」とは書かれておらず、「小説コーナーの123番」のように対象そのものが示されています。何をするか(借りる・返す)は、棚のラベルではなく利用者の行動(操作)で決まります。
HTTPメソッドで操作を表す
同じURL(リソース)に対して、HTTPメソッドを使い分けることで、異なる操作を表現します。
URLは「対象」を固定したまま、メソッドだけを変えることで、CRUD(作成・取得・更新・削除)という基本操作をシンプルに表現できます。
ステータスコードとの関係
操作の結果は、レスポンスのステータスコードで伝えます。REST API設計では、操作の種類に応じて適切なステータスコードを返すことが重視されます。
ステータスコード自体の詳しい意味は、Web技術基礎のHTTPに関するトピックでも解説しています。ここでは「操作の結果を、コードの種類で分かりやすく伝える」という設計上の役割に注目してください。
良いAPI設計の考え方
- URLは名詞(リソース)で表し、動詞(操作)はメソッドに任せる。
- 同じ種類の対象には、一貫した命名規則(例:常に複数形)を使う。
- 結果はステータスコードとレスポンス内容の両方で、分かりやすく伝える。
これらのルールを守ることで、初めてそのAPIを触る人でも「このURLとメソッドで何が起きるか」を予測しやすくなります。
実務で気をつけたいポイント
/v1/を含めるなど、バージョンを意識した設計が重要。まとめ
REST API設計とは、URLで「何を」、HTTPメソッドで「何をするか」を表す設計スタイルです。リソース指向のURLとメソッドの使い分けを意識することで、意味の分かりやすいAPIを作れます。
関連トピック: