Software Design別冊 Web API開発実践ガイド ―⁠―REST/gRPC/GraphQLからテスト、セキュリティまで

「Web API開発実践ガイド」のカバー画像
著者
杉本和也津郷晶也太⽥佳敬武田大輝宮崎将太福岡秀一郎武上将樹渋川よしき真野隼記小谷優空和田祐汰浦優太金井祐樹内山高広上原拓也sumiren川崎庸市こたうちさんさん石川朝久徳丸浩松本隆則川村修平 著
定価
2,420円(本体2,200円+税10%)
発売日
2025.8.18
判型
B5
頁数
192ページ
ISBN
978-4-297-15062-4

概要

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

こんな方にオススメ

  • Web開発者
  • REST API/GraphQL/gRPC開発者
  • Web APIのテスト手法やセキュリティ対策など、一歩進んだ開発/運用について学びたい人

目次

第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. 認証・認可