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