NextRequest
NextRequest 扩展了 Web Request API,提供了更多便捷方法。
cookies
读取或修改请求中的 Set-Cookie
头部。
set(name, value)
根据给定的名称,在请求中设置具有对应值的 cookie。
get(name)
根据 cookie 名称返回其值。如果未找到 cookie,则返回 undefined
。如果找到多个同名 cookie,返回第一个。
getAll()
根据 cookie 名称返回其所有值。如果未提供名称,则返回请求中的所有 cookie。
delete(name)
根据 cookie 名称从请求中删除该 cookie。
has(name)
根据 cookie 名称,如果请求中存在该 cookie 则返回 true
。
clear()
从请求中移除 Set-Cookie
头部。
nextUrl
扩展了原生 URL
API,提供更多便捷方法,包括 Next.js 特有的属性。
可用选项如下:
属性 | 类型 | 描述 |
---|---|---|
basePath | string | URL 的 基础路径。 |
buildId | string | undefined | Next.js 应用的构建标识符。可自定义。 |
defaultLocale | string | undefined | 国际化 的默认区域设置。 |
domainLocale | ||
- defaultLocale | string | 域内的默认区域设置。 |
- domain | string | 与特定区域设置关联的域名。 |
- http | boolean | undefined | 指示该域名是否使用 HTTP。 |
locales | string[] | undefined | 可用区域设置的数组。 |
locale | string | undefined | 当前激活的区域设置。 |
url | URL | URL 对象。 |
ip
ip
属性是一个包含请求 IP 地址的字符串。该值可由您的托管平台选择性提供。
须知: 在 Vercel 上,此值默认提供。在其他平台上,您可以使用
X-Forwarded-For
头部来提供 IP 地址。
geo
geo
属性是一个包含请求地理信息的对象。该值可由您的托管平台选择性提供。
须知: 在 Vercel 上,此值默认提供。在其他平台上,您可以使用
X-Forwarded-For
头部提供 IP 地址,然后使用第三方服务查询地理信息。