for next.js:什麼時候用req:Request ,什麼時候用req:NextRequest ?
不仔細想的話,直接全部都用「req:NextRequest」,
因為 NextRequest extends Request
說明:
-------------------
// NextRequest EXTENDS Request:
// = Request + extra Next.js features
req.nextUrl // ← parsed URL object (convenient!)
req.nextUrl.searchParams // ← query params directly
req.nextUrl.pathname // ← /api/books
req.geo // ← geo location (Edge only)
req.ip // ← client IP
req.cookies // ← cookies helper
.get('name')
.set('name', value)
.delete('name')
-------------------
用Request的時機
-------------
//有query string傳真的時候
export async function GET(req: Request) {
const url = new URL(req.url)
const param = url.searchParams.get('keyword')
// ← manual URL parsing needed
}
export async function POST(req: Request) {
const body = await req.json() // ← same on both
...
}
或
export async function POST(req: Request) {
const { userId, password } = await req.json()
}
-------------
用NextRequest的時候--有query string傳參的時間
--------------
export async function GET(req: NextRequest) {
const keyword = req.nextUrl.searchParams.get('keyword')
}
export async function POST(req: NextRequest) {
const body = await req.json() // ← works perfectly ✓
const { title, author } = body
}
--------------
以上


0 個意見:
張貼留言
訂閱 張貼留言 [Atom]
<< 首頁