Route Handlers là cách tạo API endpoints trong App Router bằng cách đặt file route.ts trong thư mục app/.
- Mỗi HTTP method được export dưới dạng named function riêng biệt.
- Sử dụng Web APIs chuẩn (Request/Response) thay vì req/res của Node.js.
typescript
// app/api/users/route.ts → endpoint: /api/users
import { NextRequest, NextResponse } from 'next/server'
export async function GET(request: NextRequest) {
const { searchParams } = new URL(request.url)
const page = Number(searchParams.get('page') ?? 1)
const users = await db.users.findMany({ skip: (page - 1) * 10, take: 10 })
return NextResponse.json(users)
}
export async function POST(request: NextRequest) {
const body = await request.json()
const user = await db.users.create({ data: body })
return NextResponse.json(user, { status: 201 })
}