HTTPとAPI基礎 / 約20分
RESTfulなAPI設計の原則
なぜこれを学ぶか
「動くAPI」と「変更に強いAPI」の差は、設計原則を知っているかどうかで決まります。RESTfulな設計は、多くのチームが共有できる共通言語です。
RESTの基本原則は URLはリソース(名詞)、メソッドは操作(動詞) を表すことです。/getUsersのような動詞入りのURLは避け、GET /usersのように表現します。
冪等性 はHTTPメソッドごとに定義されています。GET・PUT・DELETEは本来何度実行しても結果が同じ(冪等)ですが、POSTは冪等ではありません。同じPOSTリクエストが2回届くと、2回分の処理が実行されてしまう可能性があります。
ネストしたリソースの表現(/users/1/orders/5のような形)は便利ですが、深くしすぎない(2階層程度まで) のが実務上のバランスです。深すぎるネストはURL設計を複雑にします。
APIバージョニング(/v1/usersのような形)の目的は、既存のクライアントを壊さずにAPIを進化させることです。破壊的な変更が必要な時に、新バージョンとして併存させます。
重要ポイント
- URLは名詞(リソース)、操作はHTTPメソッドで表す
- POSTは冪等ではない(同じリクエストの重複実行に注意)
- ネストは2階層程度に、バージョニングで破壊的変更に備える
理解度チェック
選ぶと即座に解説が表示されます。
決済APIが `POST /payments` で実装されている。ネットワーク不安定により、同じリクエストが2回送信されてしまった。何が起きる可能性があるか?
ヒントを見る
GET・PUT・DELETEは冪等ですが、POSTはどうだったでしょうか。「冪等でない」とは、同じリクエストを2回送るとどうなることを意味しますか。
スキルセルフチェック
このレッスンの内容をどの程度理解できましたか?