正解: ResponseまたはNextResponseのheadersにCache-Controlを設定するRoute HandlerはHTTPレスポンスを直接返すため、キャッシュ方針はCache-Controlヘッダーで表現します。たとえばs-maxageやstale-while-revalidateを指定することで、CDNや共有キャッシュでの扱いを制御できます。補足: Server Componentのfetchキャッシュと、Route Handlerが返すHTTPキャッシュは別の層の話です。どこでキャッシュしたいのかを明確にして設定します。A. JSON本文にcache: trueというプロパティを追加する: 本文に書いてもHTTPキャッシュの制御にはなりません。B. ResponseまたはNextResponseのheadersにCache-Controlを設定する: これが正解です。C. page.tsxのmetadataにcacheControlを追加する: MetadataはSEO向けで、APIレスポンスのキャッシュ設定ではありません。D. Client ComponentのuseEffectでキャッシュ時間を指定する: ブラウザ側の処理ではHTTPレスポンスヘッダーを後から決められません。
教科書へ直接移動
読みたい分野を選べます