API設計の原則
luagate/api-design-introAPI設計入門26 枚Web 開発
上から下へ、全 26 枚そのまま並べています。
発表モードで開くAPI設計の原則
目次
今日のゴール
この時間で身につけてほしいことです。RESTfulなAPI設計の基本を理解しましょう。
- 良いAPIに共通する条件が分かる
- リソース指向のURL設計が分かる
- メソッドとステータスコードの使い分けが分かる
- 命名・バージョン管理の考え方が分かる
- 良い例と悪い例を見分けられる
復習 REST API
以前学んだREST APIを思い出しましょう。今日はその「設計の質」を高める話です。
良いAPIの3つの条件
使いやすいAPIには共通点があります。大きく3つの観点で押さえましょう。
リソース指向の設計
RESTの土台は「データを名詞でとらえる」考え方です。URLは住所、操作はメソッドで表します。
第2部 メソッドとステータス
1回のやり取りの流れ
利用側がリクエストを送り、APIがメソッドに応じて処理し、ステータスとデータを返します。
- 利用側がメソッドとURLを指定して送る
- APIがリソースを操作する
- 結果をステータスコードで伝える
- 本文にデータを載せて返す
- この一往復をきれいに設計する
復習 HTTPメソッドの使い分け
以前学んだメソッドを設計の観点で整理します。操作の種類とメソッドを一致させます。
復習 ステータスコード
結果は数字のコードで伝えます。成功・失敗の種類を正しく返すのが良い設計です。
べき等という考え方
同じ操作を何度繰り返しても結果が変わらない性質を「べき等」と言います。設計の判断材料です。
第3部 命名とバージョンと認証
命名のルール
バージョン管理
APIは育っていきます。既存の利用者を壊さずに進化させるためにバージョンをつけます。
復習 認証・認可
以前学んだ認証と認可は、API設計でも欠かせない要素です。
- 認証は「誰か」を確かめること
- 認可は「何ができるか」を決めること
- APIキーやトークンで本人確認をする
- 権限の無い操作は403で断る
- 設計の段階で守り方を決めておく
エンドポイントの構造
リソースは入れ子で表せます。usersの下に、その人の注文がぶら下がるイメージです。
第4部 エラー設計とドキュメント
エラー設計の例
良いエラー設計の3点
エラーは利用者を助ける情報です。次の3点を満たすと親切なAPIになります。
ドキュメントの重要性
どんなに良い設計でも、使い方が伝わらなければ使われません。ドキュメントは設計の一部です。
設計の良し悪しと開発のしやすさ(イメージ)
一貫した設計とドキュメントがあると、利用側の理解にかかる時間が減る傾向です。あくまでイメージです。
良い例と悪い例
これまで学んだ原則を、最後に一枚で見比べます。違いを感じ取ってください。
振り返りクイズ
振り返りクイズ 解答
質疑・次回予告
今日のまとめと、次に学ぶテーマです。質問があればここで受け付けます。
"
使いやすいAPIは「住所は名詞、動作はメソッド、結果は正しいコードで」。一貫したルールとドキュメントが、見ただけで使い方の分かる優しいAPIを作ります。