実践API設計:目次
特集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テストのもう一つの利点:リファクタリング
特集のまとめ
この記事へのコメント