実践API設計:目次

WEB+DB PRESS Vol.134

WEB+DB PRESS Vol.134

  • 出版社/メーカー: 技術評論社
  • 発売日: 2023/04/22
  • メディア: Kindle版

特集1「実践API設計」の構成が分かるように目次を作成してみました。

第1章 優れたAPI仕様とは何か

 特集のはじめに

 APIとは

   フレームワークや標準ライブラリのAPI仕様

   企業内でのAPI仕様

 優れたAPI仕様とは

   理解が容易

   変更が容易

   テストが容易

  API仕様でよくある問題点

   API仕様が書かれていない

   エラーの記述がない

   自動テストが存在しない

  API仕様に書くべきこと

   サービスの概要の説明

   個々のエンドポイントの説明

   エラーの説明

     パラメータの不正値

     誤った順序での呼び出し

     認証と認可のエラー

     そのほかのエラー

   まとめ


第2章 gRPCにおけるAPI仕様の書き方

 gRPCとは

 API仕様をどこに書くか

 サービスの概要の記述

 個々のエンドポイント(RPC)の説明

 エラーの説明

   パラメータの不正

     InvalidArgument ── 不正なパラメータ値

     NotFound ── リソースが見つからない

     OutOfRange ── 指定された範囲のデータがない

   誤った順序での呼び出し

     FailedPrecondition ── 事前条件が成立していない

   認証や認可のエラー

     Unauthenticated ── 認証できない

     PermissionDenied ── 認可できない

   サービスの概要に書くべきそのほかのエラー

     Canceled ── キャンセルされた

     DeadlineExceeded ── 処理がタイムアウトした

     Unknown ── 不明なエラー

     Internal ── 内部エラーが発生した

   個々のエンドポイントに書くべきそのほかのエラー

     AlreadyExists ── リソースがすでに存在する

     ResourceExhaused ── サービス側のリソースの枯渇

     Aborted ── 処理が中断された

   書く必要がないエラー

     Unavailable ── サービスが動作していない

     DataLoss ── データが失われた

     Unimplemented ── まだ実装されていない

 リストオプションの説明

 まとめ


第3章 API仕様ファースト開発

 開発順序

   API仕様の記述

   E2Eテストフレームワークの検討と実装

   テストコードの作成と機能の実装

   リファクタリングとカバレッジの確認

   Pull Requestのレビュー

 不具合の修正順序

   再現テストの作成と実装の修正

   リファクタリングとカバレッジの確認

 既存のエンドポイントの修正と新たなエンドポイントの追加

 まとめ


第4章 E2Eテストフレームワークの構築

 テストフレームワークの基本的な考え方

 マイクロサービス構成でのテストフレームワーク

   書きたいテスト

     レスポンスの確認

     依存サービスを正しく呼び出しているかの確認

   E2Eテストフレームワークのプロセス

     E2Eテストのプロセス間シーケンス

   依存サービスが外部サービスの場合の解決方法

   エラーのテストは簡単

     DeadlineExceededとCanceled

     Aborted

 非マイクロサービス構成でのテストフレームワーク

 E2Eテストフレームワークの骨格

   Test Suiteプロセスの骨格

   テスト対象マイクロサービスの骨格

   フェイクマイクロサービスの骨格

   テストコードの骨格

   そのほかの考慮項目

 まとめ


第5章 API仕様の技術的負債の返済

 技術的負債とは

 API仕様の負債の返済

   既存のエンドポイントを修正するケース

     ステップ1:既存のAPI仕様の更新(見なおし)

     ステップ2:既存のAPI仕様のテストコード作成と実行

     ステップ3:新たな修正のためのAPI仕様の再修正

     ステップ4:新たな修正に対するテストコードの作成

     ステップ5:新たな修正の実装

     ステップ6:リファクタリングとカバレッジの確認

   新たなエンドポイントを追加するケース

   既存のエンドポイントの不具合を修正するケース

 返済順序のまとめ

 E2Eテストのもう一つの利点:リファクタリング

 特集のまとめ

この記事へのコメント