nuxt logo

ドキュメント翻訳(非公式)

useRequestFetch

サーバーサイドのフェッチリクエストにおいて、リクエストコンテキストとヘッダーを転送するための useRequestFetch コンポーザブル。

useRequestFetch を使用して、サーバーサイドのフェッチリクエストを行う際にリクエストコンテキストとヘッダーを転送することができます。

クライアントサイドでフェッチリクエストを行う場合、ブラウザは必要なヘッダーを自動的に送信します。 しかし、サーバーサイドレンダリング中にリクエストを行う場合、セキュリティ上の考慮から、ヘッダーを手動で転送する必要があります。

転送されるべきでないヘッダーはリクエストに含まれません。これらのヘッダーには、例えば以下が含まれます: transfer-encoding, connection, keep-alive, upgrade, expect, host, accept

useFetch コンポーザブルは内部で useRequestFetch を使用して、リクエストコンテキストとヘッダーを自動的に転送します。

// これはユーザーのヘッダーを `/api/cookies` イベントハンドラーに転送します
// 結果: { cookies: { foo: 'bar' } }
const requestFetch = useRequestFetch()
const { data: forwarded } = await useAsyncData(() => requestFetch('/api/cookies'))

// これは何も転送しません
// 結果: { cookies: {} }
const { data: notForwarded } = await useAsyncData(() => $fetch('/api/cookies'))

クライアントサイドのナビゲーション中のブラウザでは、useRequestFetch は通常の $fetch と同様に動作します。