Parçacıklara Dön
Next.jsTypeScript

Next.js API Route Handler

İstek doğrulama ve hata yönetimi ile tipli API route handler.

nextjsapiroutehandler
import { NextRequest, NextResponse } from class=class="text-emerald-400">"text-emerald-400">'next/server'

interface CreateItemBody {
  name: string
  description?: string
}

export async function GET(request: NextRequest) {
  const { searchParams } = request.nextUrl
  const page = Number(searchParams.get(class=class="text-emerald-400">"text-emerald-400">'page')) || 1
  const limit = Number(searchParams.get(class=class="text-emerald-400">"text-emerald-400">'limit')) || 10

  class=class="text-emerald-400">"text-gray">// Replace with your data source
  const items = Array.from({ length: limit }, (_, i) => ({
    id: (page - 1) * limit + i + 1,
    name: class="text-emerald-400">`Item ${(page - 1) * limit + i + 1}`,
  }))

  return NextResponse.json({ data: items, page, limit })
}

export async function POST(request: NextRequest) {
  try {
    const body: CreateItemBody = await request.json()
    if (!body.name) {
      return NextResponse.json({ error: class=class="text-emerald-400">"text-emerald-400">'Name is required' }, { status: 400 })
    }
    return NextResponse.json({ data: { id: Date.now(), ...body } }, { status: 201 })
  } catch {
    return NextResponse.json({ error: class=class="text-emerald-400">"text-emerald-400">'Invalid JSON' }, { status: 400 })
  }
}

Nasıl Kullanılır

Bu dosyayı app/api/items/route.ts konumuna yerleştirin. Sayfalama ile GET ve doğrulama ile POST işlemlerini yönetir. Frontend'den fetch() ile /api/items adresine erişin.

İlgili Teknoloji

Next.js

Aklınızda Bir Proje mi Var?

Fikrinizi nasıl hayata geçirebileceğimizi konuşalım. İlk konseptten üretime hazır ürüne kadar — yanınızdayız.

veya ücretsiz görüşme ayarlayın