出版社内容情報
『Software Design』特集記事のうち、大好評を博したWeb API特集記事を1冊に収めました。
もはやWebにとって、Web APIこそが要です。Web APIを適切かつ効率的に開発できるかどうかが、Webサービスのその後を大きく左右するとも言えます。本書は、今まさにWeb APIを開発・運用する中で得られた実践的な知見が凝縮されています。
第1章では、OpenAPIを題材に、Webの基礎からさかのぼってWeb APIを再考し、REST APIの設計要素と、OpenAPIによるREST APIの設計手法およびREST APIの開発の実際の部分までつまびらかにします。第2章では、代わってGoogleが開発したRPCフレームワーク、gRPCにフォーカスし、その概要と、重要な技術要素であるProtocol Buffersの基礎を確認し、設計ポイントに触れ、gRPCによるWeb APIの実装を体験します。続く第3章では、GraphQLによるWebアプリケーションの開発・運用手法を一挙に解説。GraphQLの導入、TypeScript+Apollo Serverによるサーバサイドの実装、urqlやgraphql-codegenを駆使したクライアントアプリケーションの実装、そしてDatadogによるモニタリングやSentryによるエラートラッキングをベースとしたAPIの拡張手法にまで踏み込みます。
もちろん、Web APIは品質も重要です。本書では「テスト」「セキュリティ」の2つの観点でWeb APIの品質確保について考えます。第4章では、テストスコープをキーワードとしてWeb APIをテストする意義を見つめ直した上で、CRUD操作やエラーハンドリング、認証・認可設定、データ漏洩、バリデーション、メトリクスなど何をテストすべきか考え、Web APIテストを現実的に進める上で、カバレッジの目安やパフォーマンステストの実施フェーズ、実験計画などの考え方について考察します。第5章は、石川朝久氏や徳丸浩氏といったセキュリティの第一人者を中心に、Web APIのセキュリティに正面から向き合う極意を伝授します。Web APIはどのような攻撃にさらされるのか、リスクや攻撃手法、脆弱性から紐解き、「DevOps」「シフトレフト」を起点に、Web API設計からセキュリティを組み込む考え方を紹介。脆弱性診断や認証・認可設定の具体的な実施方法まで解説します。
まさしく、Web APIがまるごとわかる1冊なのです。
【目次】
第1章 Web APIの作り方
1-1. Web APIの目的と技術要素
1-2. REST APIの設計で検討・決定すること
1-3. OpenAPIによるREST API設計
1-4. OpenAPIを使ったWeb API開発の実際
第2章 gRPCで始めるWeb API開発
2-1. gRPCの特徴と登場背景
2-2. gRPCの技術要素とProtocol Buffersの基本
2-3. gRPC利用時のAPI設計ポイント
2-4. gRPCによるWeb APIの実装
第3章 GraphQLでアプリケーション開発
3-1. GraphQLとは
3-2. GraphQL導入
3-3. サーバサイドの実装
3-4. クライアントアプリケーションの実装
3-5. GraphQLアプリケーションの実運用
第4章 Web APIテスト 実践ガイド
4-1. Web APIテストの意義
4-2. Web APIテスト時のチェック項目
4-3. 実践的なWeb APIテストの考え方
第5章 ゼロから学ぶWeb APIセキュリティ
5-1. Web APIに潜むセキュリティリスク
5-2. Web APIセキュリティの重要ポイント
5-3. 脆弱性
5-4. 認証・認可