route.js

Rota İşleyicileri, Web İsteği ve Yanıt API'lerini kullanarak belirli bir rota için özel istek işleyicileri oluşturmanıza olanak tanır.

HTTP Methods

Bir rota dosyası, belirli bir rota için özel istek işleyicileri oluşturmanıza olanak tanır. Aşağıdaki HTTP yöntemleri desteklenmektedir: GET, POST, PUT, PATCH, DELETE, HEAD, ve OPTIONS.

route.ts
export async function GET(request: Request) {}
 
export async function HEAD(request: Request) {}
 
export async function POST(request: Request) {}
 
export async function PUT(request: Request) {}
 
export async function DELETE(request: Request) {}
 
export async function PATCH(request: Request) {}
 
// If `OPTIONS` is not defined, Next.js will automatically implement `OPTIONS` and  set the appropriate Response `Allow` header depending on the other methods defined in the route handler.
export async function OPTIONS(request: Request) {}

Bilmekte fayda var: Rota İşleyicileri yalnızca app dizini içinde kullanılabilir. API Rotalarını (pages) ve Rota İşleyicilerini (app) birlikte kullanmanıza gerek yoktur, çünkü Rota İşleyicileri tüm kullanım durumlarını idare edebilmelidir.

Parameters

request (optional)

request nesnesi, Web İsteği API'sinin bir uzantısı olan bir NextRequest nesnesidir. NextRequest, cookies ve genişletilmiş, ayrıştırılmış URL nesnesi nextUrl'a kolayca erişmek de dahil olmak üzere gelen istek üzerinde daha fazla kontrol sağlar.

context (optional)

app/dashboard/[team]/route.js
export async function GET(request, context: { params }) {
  const team = params.team // '1'
}

Şu anda context adresinin tek değeri, geçerli rota için dinamik rota parametrelerini içeren bir nesne olan params adresidir.

ExampleURLparams
app/dashboard/[team]/route.js/dashboard/1{ team: '1' }
app/shop/[tag]/[item]/route.js/shop/1/2{ tag: '1', item: '2' }
app/blog/[...slug]/route.js/blog/1/2{ slug: ['1', '2'] }

NextResponse

Rota İşleyicileri, bir NextResponse nesnesi döndürerek Web Yanıt API'sini genişletebilir. Bu, çerezleri, başlıkları, yeniden yönlendirmeyi ve yeniden yazmayı kolayca ayarlamanıza olanak tanır. API referansını görüntüleyin.

Version History

VersionChanges
v13.2.0Route handlers are introduced.