『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冊なのです。