CodeBlanks Logo Icon CodeBlanks

GET ve POST

GET ve POST isteklerini yanıtlamayı öğrenirsin.

GET ve POST

API rotasında hem GET hem POST tanımlayabilirsin. GET genelde veri okur, POST yeni veri yazar. Aynı dosyada iki ayrı export async function olur.

POST fonksiyonu await request.json() ile gövdeyi okur. GET ise request.url veya searchParams üzerinden parametre alır.

Doğru durum kodları dönmek iyi bir uygulamadır: 200 başarılı, 201 oluşturuldu, 400 hatalı istek.

Yanıt tipleri

Next.js App Router'da API rotaları Response, NextResponse.json() veya NextResponse.redirect() döndürebilir. NextResponse.json otomatik olarak JSON header'larını ekler.

Örnek: return NextResponse.json({ ok: true }). Durum kodu eklemek için ikinci parametre: { status: 201 }.

Ham metin için new Response("...") yeterlidir.

Uygulama POST rotası

POST fonksiyonu yaz: request parametresi alsın, await request.json() ile gövdeyi oku, NextResponse.json({ ok: true, received: data }, { status: 201 }) döndür. import { NextResponse } from "next/server" ifadesini de yaz. export async olsun.

Başlangıç kodu

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

// import NextResponse ve POST fonksiyonunu yaz

Örnek çözüm

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

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

Soru ve cevaplar

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

1 POST gövdesini okumak için?

  • fetch()
  • request.body
  • useState
  • await request.json() Doğru cevap

Açıklama: POST gövdesi = await request.json().

2 NextResponse json

Soru
import { NextResponse } from "next/server";

export async function POST(request) {
  const data = await request.json();
  return NextResponse.____({ ok: true, data });
}
Cevap
import { NextResponse } from "next/server";

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

Açıklama: NextResponse.json JSON yanıtı döndürür.

3 GET ve POST: kavramları eşleştir

Kavram Anlamı
Response Ham yanıt
NextResponse.json JSON yanıt
status 201 Oluşturuldu
await request.json Gövde okuma

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