レッスン 5

ログと API レスポンスの比較

フル IDE diff を開かずに、ログ断片、curl 出力、レスポンスボディのリグレッションを見つけます。

ログと API レスポンスは追跡ファイルではなく、コピーされたテキストとして届くことが多いです。テキスト diff はこれらのクイック前後チェックに最適です。

ログ断片の比較

有用なケース:

  • デプロイ前後のエラースタックトレース
  • 失敗エンドポイント周辺のリクエスト/レスポンスログ
  • 2 回の実行からのワーカージョブ出力
  • ダッシュボードからコピーしたフィルタ済みログ行

ワークフロー:

  1. 最後に正常だったログスニペットをコピーする。
  2. 同じ操作の失敗ログスニペットをコピーする。
  3. ローカルで diff する。
  4. ノイズの多いブロック全体ではなく、最初に変わった行に集中する。

ログには実行ごとに変わるタイムスタンプ、リクエスト ID、トレース ID が含まれることが多いです。それらを心の中で無視するか、可能なら diff 前にトリムする。

API レスポンスの比較

有用なケース:

  • バックエンド変更前後の curl 出力
  • ゲートウェイ変換レスポンス vs アップストリームレスポンス
  • ページネーションページ形状の変更
  • エラーペイロードの変更(400 vs 422 ボディの違い)

例:

{"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 の両側を試してください。

実践したいときは関連する DevCove ツールを使えます。任意であり、このレッスンの必須部分ではありません。

関連ツールを開く

コース概要へ戻る