NextRequest
NextRequest は Web Request API を拡張し、便利な追加メソッドを提供します。
cookies
リクエストの Set-Cookie
ヘッダーを読み取りまたは変更します。
set(name, value)
指定された名前でクッキーを設定し、リクエストに値を追加します。
// 受信リクエスト /home の場合
// バナーを非表示にするクッキーを設定
// リクエストには `Set-Cookie:show-banner=false;path=/home` ヘッダーが含まれる
request.cookies.set('show-banner', 'false')
get(name)
クッキー名を指定し、その値を返します。クッキーが見つからない場合は undefined
が返されます。複数のクッキーが見つかった場合、最初のものが返されます。
// 受信リクエスト /home の場合
// { name: 'show-banner', value: 'false', Path: '/home' }
request.cookies.get('show-banner')
getAll()
クッキー名を指定し、その値を返します。名前が指定されていない場合、リクエストのすべてのクッキーを返します。
// 受信リクエスト /home の場合
// [
// { name: 'experiments', value: 'new-pricing-page', Path: '/home' },
// { name: 'experiments', value: 'winter-launch', Path: '/home' },
// ]
request.cookies.getAll('experiments')
// または、リクエストのすべてのクッキーを取得
request.cookies.getAll()
delete(name)
指定されたクッキー名をリクエストから削除します。
// 削除された場合は true、何も削除されなかった場合は false を返す
request.cookies.delete('experiments')
has(name)
指定されたクッキー名がリクエストに存在する場合、true
を返します。
// クッキーが存在する場合は true、存在しない場合は false を返す
request.cookies.has('experiments')
clear()
リクエストから Set-Cookie
ヘッダーを削除します。
request.cookies.clear()
nextUrl
ネイティブの URL
API を拡張し、Next.js 固有のプロパティを含む便利なメソッドを提供します。
// /home へのリクエストの場合、pathname は /home
request.nextUrl.pathname
// /home?name=lee へのリクエストの場合、searchParams は { 'name': 'lee' }
request.nextUrl.searchParams
バージョン履歴
バージョン | 変更点 |
---|---|
v13.0.0 | useSearchParams が導入されました。 |