メインコンテンツまでスキップ

NextRequest

NextRequestは、追加の便利なメソッドでWeb Request APIを拡張します。

cookies

リクエストのSet-Cookieヘッダーを読み取るか、変更します。

set(name, value)

名前を指定して、リクエストに与えられた値のcookieを設定します。

// 指定されたリクエスト /home
// バナーを非表示にするcookieを設定
// リクエストに `Set-Cookie:show-banner=false;path=/home` ヘッダーが付与されます
request.cookies.set('show-banner', 'false')

get(name)

指定されたcookie名から、その値を返します。cookieが見つからない場合、undefinedが返されます。複数のcookieが見つかった場合、最初のものが返されます。

// 指定されたリクエスト /home
// { name: 'show-banner', value: 'false', Path: '/home' }
request.cookies.get('show-banner')

getAll()

指定されたcookie名から、その値を返します。名前が指定されていない場合、リクエストに含まれるすべてのcookieを返します。

// 指定されたリクエスト /home
// [
// { name: 'experiments', value: 'new-pricing-page', Path: '/home' },
// { name: 'experiments', value: 'winter-launch', Path: '/home' },
// ]
request.cookies.getAll('experiments')
// または、リクエストに含まれるすべてのcookieを取得
request.cookies.getAll()

delete(name)

指定されたcookie名から、cookieをリクエストから削除します。

// 削除された場合はtrue、何も削除されなかった場合はfalseを返します
request.cookies.delete('experiments')

has(name)

指定されたcookie名がリクエストに存在する場合、trueを返します。

// cookieが存在する場合は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

以下のオプションが利用可能です;

プロパティタイプ説明
basePathstringURLのベースパス
buildIdstring | undefinedNext.jsアプリケーションのビルド識別子。カスタマイズ可能です;
pathnamestringURLのパス名;
searchParamsObjectURLの検索パラメータ;

Note: Pages Routerの国際化プロパティは、App Routerでは使用できません。App Routerによる国際化についてさらに詳しく学んでください。

バージョン履歴

バージョン変更点
v15.0.0ipgeo が削除されました;