アサーションCheckの分析結果表示について、sessionStorage を使用する方式から、PostgreSQLに保存されたデータを取得する方式へ変更した。
これまで、分析直後の結果表示と履歴詳細画面では、異なる方法でデータを取得していた。
今回のリファクタリングでは、分析直後も履歴からアクセスした場合も、同じ詳細画面を使用する構成に統一した。
sessionStorage の処理を削除する変更前は、AIによる分析結果をDBに保存した後、フロントエンドでも sessionStorage に保存していた。
ユーザーが分析を実行
↓
Next.jsからHonoのAPIを呼び出す
↓
Amazon Bedrockで分析
↓
PostgreSQLに分析内容・結果を保存
↓
APIから分析結果を返却
↓
sessionStorageに分析結果を保存
↓
/analysis/result に遷移
↓
sessionStorageから結果を取得
↓
分析結果を表示
フロントエンドでは、以下のような処理を使用していた。
const result: AnalysisResultData = await apiResponse.json();
sessionStorage.setItem(
"analysisResult",
JSON.stringify(result)
);
router.push("/analysis/result");
sessionStorage は、ブラウザにデータを一時的に保存するための仕組み。
主な特徴は以下のとおり。