レッスン 5
ログと API レスポンスの比較
フル IDE diff を開かずに、ログ断片、curl 出力、レスポンスボディのリグレッションを見つけます。
ログと API レスポンスは追跡ファイルではなく、コピーされたテキストとして届くことが多いです。テキスト diff はこれらのクイック前後チェックに最適です。
ログ断片の比較
有用なケース:
- デプロイ前後のエラースタックトレース
- 失敗エンドポイント周辺のリクエスト/レスポンスログ
- 2 回の実行からのワーカージョブ出力
- ダッシュボードからコピーしたフィルタ済みログ行
ワークフロー:
- 最後に正常だったログスニペットをコピーする。
- 同じ操作の失敗ログスニペットをコピーする。
- ローカルで diff する。
- ノイズの多いブロック全体ではなく、最初に変わった行に集中する。
ログには実行ごとに変わるタイムスタンプ、リクエスト ID、トレース ID が含まれることが多いです。それらを心の中で無視するか、可能なら diff 前にトリムする。
API レスポンスの比較
有用なケース:
- バックエンド変更前後の
curl出力 - ゲートウェイ変換レスポンス vs アップストリームレスポンス
- ページネーションページ形状の変更
- エラーペイロードの変更(
400vs422ボディの違い)
例:
{"status":"ok","items":[{"id":1,"name":"Ada"}]}
{"status":"ok","items":[{"id":1,"name":"Ada","plan":"pro"}]}
payload が有効な JSON でフィールドレベルの構造が重要なら、JSON diff の方が良い場合があります。ボディが部分的、minify 済み、エスケープ済み、またはヘッダーと混在している場合、テキスト diff の方が速いことが多いです。
レスポンス向けテキスト diff vs JSON diff
| 入力形状 | より良いツール |
|---|---|
| ヘッダー付き生 curl 出力 | テキスト diff |
| 整形済み JSON オブジェクト | JSON diff |
| 埋め込み JSON 付きログ行 | まずテキスト diff |
items[0].plan のようなフィールドパスが必要 | JSON diff |
要点
ログとコピーしたレスポンスでは、テキスト diff が最初の意味のある変更を素早く見つけるのに役立ちます。ノイズをトリムし、最小限の有用サンプルを比較し、構造が重要なときだけ JSON diff にエスカレートします。
フル payload を比較する前に、短いレスポンスサンプルで Text Diff Checker の両側を試してください。