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、存在しなければ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
以下のオプションが利用可能です:
プロパティ | 型 | 説明 |
---|---|---|
basePath | string | URLのベースパス |
buildId | string | undefined | Next.jsアプリケーションのビルド識別子。カスタマイズ可能 |
pathname | string | URLのパス名 |
searchParams | Object | URLの検索パラメータ |
注: Pages Routerの国際化プロパティはApp Routerでは使用できません。App Routerでの国際化について詳しく学ぶ。
バージョン履歴
バージョン | 変更内容 |
---|---|
v15.0.0 | ip とgeo が削除されました |