画面で失敗したら、送った要求と返った応答をNetworkで見る
画面の見た目だけでは原因を絞れない。NetworkパネルでURL・メソッド・入力・HTTPステータス・応答を確認し、ブラウザーとAPIのどちらを次に調べるか決める。
用語
- Networkパネル
- ブラウザーが記録した要求と応答を確認する開発者ツールの画面。
- HTTPステータス
- 応答の意味を示す番号。画面表示や業務処理全体の正しさまでは保証しない。
- 応答
- 要求に対して返るステータス・ヘッダー・本文などの情報。
図と例
Networkを開いて操作を再現 → URL・メソッド・入力を確認 → ステータスと応答の内容を照合 → 証拠に応じてAPIか画面処理を調査
仮定の例:一覧APIは200でitemsに1件を返すが、画面は空。Networkで正しいURLと応答を確認したら、画面がitemsではなくdataを読んでいないか、絞り込みで消していないかを調べる。200だけを見て「画面も正しい」とは判断しない。
実際のサービス・製品では
解説
画面とAPIの境界で、思い込みではなく送受信した内容を基に調べる。共有する記録からCookie・認証ヘッダー・個人情報を除く。調査のための再送でも、注文や送金などの副作用がある操作は検証環境で行う。
保存ボタンが動かないときは、開発者ツールのNetworkパネルを開いてから操作する。対象の要求が記録されたか、URLとメソッド、送信した入力、HTTPステータス、応答の内容を順に見る。記録されない場合は記録状態やフィルターも確かめる。応答があるなら、期待した要求だったかと内容を照合し、画面の処理へ進む。200でも別のデータを返していたり、応答の読み取りや描画に失敗したりする。JavaScriptのfetchは404や500だけではPromiseを失敗にしないため、response.okなどによる判定も必要。ステータスだけで原因や業務の成功は確定しない。
トレードオフ
- ブラウザーで実際の送受信を見る
- 得るもの:画面が送った入力と受け取った内容を一緒に確認できる
- 払うもの:サーバー内部の処理を知るにはログなどとの照合が必要
- 検証用クライアントでAPIを直接呼ぶ
- 得るもの:画面処理を通さずAPIの挙動を確かめやすい
- 払うもの:ブラウザーの認証・ヘッダー・入力との違いをそろえる必要がある
さらに学ぶ
チェック
正しい一覧URLへの応答が200で、期待どおりitemsに1件あるのに画面は空。次に最も直接調べるものは?
- 根拠なしにDBのインデックスを追加する
- 200なので調査を終了する
- 応答の読み取り・画面の状態更新・描画をたどる
解答と解説
応答の読み取り・画面の状態更新・描画をたどる
期待したデータがブラウザーに届いているので、その後の画面処理を調べるのが直接的。200は表示の正しさを保証しない。この観測にはDBの検索性能が原因だと判断する根拠はない。