CodeBlanks Logo Icon CodeBlanks

Özet - API rotaları

Ürünleri listeleyen ve yeni ürün ekleyen bir API yazarsın.

Özet - API rotaları

Bu grupta Next.js API rotalarını gördün: app/api/.../route.js, HTTP metodları, JSON yanıtları ve hata yönetimi. Her metod için ayrı export async function yazılır.

NextResponse.json JSON yanıtı, await request.json() gövde okuma, try/catch hata yönetimi standart araçlardır.

Şimdi küçük bir CRUD rotası yaz: GET ve POST birlikte.

Uygulama CRUD rotası

GET ve POST fonksiyonlarını yaz. GET: NextResponse.json({ items: ["a", "b"] }) döndürsün. POST: await request.json() ile gövdeyi oku, NextResponse.json({ created: data }, { status: 201 }) döndürsün. import { NextResponse } from "next/server" ve iki export async function olsun.

Başlangıç kodu

App.jsx
// app/api/items/route.js

// import NextResponse, GET ve POST fonksiyonlarını yaz

Örnek çözüm

App.jsx
// app/api/items/route.js
import { NextResponse } from "next/server";

export async function GET() {
  return NextResponse.json({ items: ["a", "b"] });
}

export async function POST(request) {
  const data = await request.json();
  return NextResponse.json({ created: data }, { status: 201 });
}

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 Hangisi bir API rotası dosyasıdır?

  • app/users/api.js
  • app/api/users/page.js
  • app/api/users/route.js Doğru cevap
  • app/route.js

Açıklama: API = app/api/.../route.js.

2 POST gövdesi

Soru
export async function POST(request) {
  const body = await request.____();
  return NextResponse.json({ data: body });
}
Cevap
export async function POST(request) {
  const body = await request.json();
  return NextResponse.json({ data: body });
}

Açıklama: await request.json() JSON gövdeyi verir.

İleri seviye bölümündeki tüm dersler