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 с указанным именем из запроса.
// Возвращает true при успешном удалении, false если ничего не удалено
request.cookies.delete('experiments')has(name)
Проверяет наличие cookie с указанным именем в запросе.
// Возвращает true если cookie существует, false если нет
request.cookies.has('experiments')clear()
Удаляет заголовок Set-Cookie из запроса.
request.cookies.clear()nextUrl
Расширяет нативный API URL дополнительными удобными методами, включая свойства, специфичные для 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 недоступны для использования в маршрутизаторе App. Подробнее об интернационализации в маршрутизаторе App.
История версий
| Версия | Изменения |
|---|---|
v15.0.0 | Удалены ip и geo. |