ISBN 9784873116860
Web API:The Good Parts
- 著者
- 水野貴明
- 出版社
- オライリー・ジャパン
- 刊行
- 2014-11
概要
Web APIの設計判断を根拠から理解し、落とし穴を避ける
想定読者
Webエンジニア1〜3年目で、REST APIを初めて設計・公開する立場、またはAPIの設計根拠を体系的に整理したい人
こんな人には向いていない
- REST APIの設計原則をチームで日常的に実践しており、設計レビューや議論を主導できるエンジニアには基本事項の比重が大きく、新規の発見は限られる
- GraphQLやgRPC、OpenAPI Specification の実践運用を主目的とする読者には本書の対象外となるプロトコルが多い
- OAuth 2.0やJWT等の認証・認可を深く掘り下げたい場合には概要紹介にとどまり、専門書を別途参照する必要がある
この本で身につくこと
- URIの設計原則(リソース中心の命名、階層構造、複数形の使い方)を判断根拠とともに説明できる
- HTTPステータスコードの使い分けとレスポンスヘッダーの設計方針を一貫して適用できる
- JSONレスポンスの構造設計(エラーレスポンス・エンベロープパターンを含む)をポリシーとして決定できる
- OAuthの基本フローを理解し、API認証設計に必要な語彙と判断軸を持てる
- APIのバージョニング戦略と後方互換性を保つ設計変更の考え方を実務に適用できる
ハイライト(外部からの言及)
APIをどのように設計し運用すればより効果的なのか、ありがちな罠や落とし穴を避けるにはどういう点に気をつけなければいけないのかを明らかにします — 出典
本書の編集方針が凝縮されており、規範的な正解集ではなく判断軸の書であることが端的に示されている
簡単にいうと、URIにアクセスすることで、サーバー側の情報を書き換えたり、サーバー側に置かれた情報を取得できるWebシステムです。 — 出典
2,100+ likes のAPI設計まとめ記事が Web API の定義として本書を直接引用しており、実務者が概念を説明・整理する際の参照軸として機能していることを示す。既存 highlight の「落とし穴を避ける設計ガイド」とは異なる「定義の明快さ」という角度を加える
章立て
第1章 Web APIとは何か
Web API の定義と本書の対象範囲。後続章を理解する前提
第2章 エンドポイントの設計とリクエストの形式
URI 命名規則・HTTP メソッドの使い分け。本書で最頻参照される実用章
第3章 レスポンスデータの設計
JSON 構造・エラーフォーマット・ページング。実装で詰まりやすい点を網羅
第4章 HTTPの仕様を最大限利用する
ステータスコード・キャッシュ・条件付き GET。HTTP の力を引き出す章
第5章 設計変更をしやすいWeb APIを作る
バージョニング戦略・後方互換性。長期運用 API の設計判断の根拠書
第6章 堅牢なWeb APIを作る
セキュリティ・レート制限・認証認可。本番運用前の必読章
関連記事 / 参考情報
- 新人プログラマに正月休み中を使って読んでみてほしい技術書をセレクトしてみた — エンジニア1年目向け厳選推薦書リスト。Web API設計の入門書として本書が紹介されている
- API設計まとめ — URI設計・HTTPメソッド・ステータスコード・認証等をまとめた実務向けAPI設計リファレンス。本書の内容が参照軸になっている
- Web API: The Good Partsを読んだので「レスポンスデータの設計」についてまとめた — レスポンスデータ構造・エラーレスポンスのパターンを本書から抽出して整理した読書まとめ
- 今さらだけど「Web API: The Good Parts」を読んだので自分なりにまとめてみる — 書籍全体を通読した読者が実務参照しやすい形式でAPI設計原則を再構成したまとめ
- Web API: The Good Partsを読んだまとめ — HTTPとRESTの設計判断を体系的に言語化した読書メモ。全体像の把握に有用
- Web API: The Good Partsを読んだので「設計変更しやすいWeb API」についてまとめた — APIのバージョニング戦略と後方互換性を保つ変更設計について本書の観点から整理
- Web API: The Good Partsを読んだので「良いURI」についてまとめた — URI命名・階層設計の原則を本書から抽出。リソース指向のURI設計のポイントを整理
学習のヒント
- URI設計の章を最初に読み、自分のプロジェクトや身近なAPIのエンドポイントと対照しながら進めると、抽象的な原則が実感を伴って定着しやすい
- HTTPステータスコードとエラーレスポンス設計の章は、設計レビュー時のチェックリストとして手元に置くと長期的な参照価値がある
- OAuthの章は概念の地図として活用し、詳細な実装はRFC 6749等の一次資料を別途参照するのが現実的な使い方
- 出版が2014年のため、JSON:APIやOpenAPI Specification等、本書刊行後に普及した仕様については補完的な情報源を合わせて参照することが望ましい
前提知識
- HTTPの基本的な仕組み(リクエスト・レスポンスの構造、主要なHTTPメソッドの役割程度)
- JSONまたはXMLの読み書きができる
- Webアプリケーションのフロントエンドまたはバックエンドを何らかの形で触れた実務・学習経験
次に読む本
RESTful Web API
本書が Pragmatic な設計判断を扱うのに対し、REST の理論的背景(Fielding 論文の文脈・HATEOAS・リソースモデルの定義)を体系的に掘り下げており、設計根拠をより深いレベルで言語化したい段階で参照する。
APIデザイン・パターン
本書が REST エンドポイント設計の基礎を扱うのに対し、gRPC・リソース設計の命名規約・API ライフサイクル管理など多プロトコルの設計パターンを網羅しており、本書の知識を実務の幅広いシナリオに拡張する段階で参照する。
OAuth 2.0の詳解(RFC 6749)
本書の第 6 章で OAuth の基本フローを把握した後、RFC 6749 の原文を参照することで、Authorization Code フロー・トークン検証・スコープ設計など実装レベルの詳細を一次資料から直接確認でき、セキュリティ上の判断根拠を自分で追えるようになる。
出版社による内容紹介
Web APIの設計、開発、運用についての解説書。本書ではAPIをどのように設計し運用すればより効果的なのか、ありがちな罠や落とし穴を避けるにはどういう点に気をつけなければいけないのかを明らかにします。ターゲットは、URIにアクセスするとXMLやJSONなどのデータが返ってくるシンプルなタイプーXML over HTTP方式やJSON over HTTP方式ーのAPIです。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。