Next.js API'ları Oluşturmaya Yönelik Nihai Kılavuz: Örneklerle Dolu Bir Macera

Next.js ile güçlü API'lar oluşturmayı öğrenin. API geliştirme için Next.js'in faydalarını ve Apidog ile iş akışınızı nasıl kolaylaştıracağınızı keşfedin.

Efe Demir

Efe Demir

5 June 2025

Next.js API'ları Oluşturmaya Yönelik Nihai Kılavuz: Örneklerle Dolu Bir Macera

Selam geliştirici dostum! Next.js dünyasına dalıp güçlü API'lar oluşturmaya hazır mısınız? Bu blog yazısında, bir Next.js API örneğini inceleyeceğiz, API'ların önemini tartışacağız ve API geliştirmenizi her zamankinden daha sorunsuz hale getirecek harika bir araç olan Apidog'u tanıtacağız. O halde, en sevdiğiniz içeceği alın ve başlayalım!

💡
Bu arada, API'larınızı test etmek ve belgelemek için kullanımı kolay bir araç arıyorsanız, Apidog'a göz atın. API geliştirme için bir oyun değiştirici ve iş akışınızı kolaylaştırmak için Apidog'u ücretsiz indirebilirsiniz!
button

Next.js Nedir?

API geliştirmesinin inceliklerine dalmadan önce, Next.js'in ne olduğunu anlamak için bir an ayıralım. Next.js, geliştiricilerin sunucu tarafında oluşturulmuş React uygulamalarını kolaylıkla oluşturmalarını sağlayan popüler bir React çerçevesidir. Statik site oluşturma, sunucu tarafında oluşturma ve güçlü bir API rota sistemi gibi özellikler sunar. Bu, onu modern web uygulamaları oluşturmak için mükemmel bir seçim haline getirir.

Next JS official website

API'lar için Neden Next.js Kullanmalısınız?

Merak ediyor olabilirsiniz, neden bu kadar çok seçenek varken API'lar için Next.js kullanmalıyım? Harika bir soru! İşte birkaç ilgi çekici neden:

Basitlik: Next.js, API rotaları oluşturmak için basit ve sezgisel bir yol sunar. Ayrı bir sunucu kurmanız veya karmaşık ara yazılımlar yapılandırmanız gerekmez. Hepsi yerleşik!

Performans: Next.js ile, API'larınızın performansını optimize etmek için sunucu tarafında oluşturma ve statik site oluşturmadan yararlanabilirsiniz. Bu, daha hızlı yanıt süreleri ve daha iyi bir kullanıcı deneyimi anlamına gelir.

Esneklik: Next.js, Node.js, Express ve daha fazlası dahil olmak üzere çeşitli arka uç teknolojilerini kullanmanıza olanak tanır. İhtiyaçlarınıza en uygun araçları seçebilirsiniz.

SEO Dostu: Next.js, SEO göz önünde bulundurularak tasarlanmıştır ve API'larınızın arama motorları tarafından keşfedilmesini kolaylaştırır.

Next.js Projenizi Kurma

Basit bir Next.js projesiyle başlayalım. Henüz yapmadıysanız, makinenize Node.js ve npm (veya yarn) yüklemeniz gerekir. Bu yapıldıktan sonra, aşağıdaki komutu çalıştırarak yeni bir Next.js projesi oluşturabilirsiniz:

npx create-next-app my-nextjs-api

Proje dizininize gidin:

cd my-nextjs-api

Şimdi, ilk API rotamızı oluşturmaya dalalım!

NextJs

İlk Next.js API Rotanızı Oluşturma

Next.js'te, API rotaları pages/api dizininde saklanır. Kullanıcıların bir listesini döndüren basit bir API rotası oluşturalım. pages/api dizininde users.js adlı yeni bir dosya oluşturun:

mkdir -p pages/api
touch pages/api/users.js

users.js dosyasını açın ve aşağıdaki kodu ekleyin:

// pages/api/users.js

export default function handler(req, res) {
  const users = [
    { id: 1, name: 'John Doe' },
    { id: 2, name: 'Jane Doe' },
  ];

  res.status(200).json(users);
}

Bu kod, kullanıcıların bir listesiyle yanıt veren temel bir API rotası tanımlar. handler fonksiyonu iki argüman alır: req (istek nesnesi) ve res (yanıt nesnesi). 200 (OK) durum koduyla bir JSON yanıtı göndermek için res.status(200).json(users) kullanırız.

API'nizi Test Etme

Yeni API'nizi test etmek için, Next.js geliştirme sunucunuzu başlatın:

npm run dev

Tarayıcınızı açın ve http://localhost:3000/api/users adresine gidin. Kullanıcıların listesiyle bir JSON yanıtı görmelisiniz:

[
  { "id": 1, "name": "John Doe" },
  { "id": 2, "name": "Jane Doe" }
]

Apidog'u Tanıyalım: API Geliştirme Yoldaşınız

API'lar geliştirmek ve test etmek göz korkutucu bir görev olabilir, ancak doğru araçlarla bu bir esinti haline gelir. İşte Apidog'un devreye girdiği yer burasıdır. Apidog, API'larınızı zahmetsizce tasarlamanıza, test etmenize ve belgelemenize olanak tanıyan hepsi bir arada bir API geliştirme aracıdır. İş akışınızı kolaylaştırmak için kullanıcı dostu bir arayüz ve güçlü özellikler sunar.

button

İş akışınızı geliştirmek için Apidog'u nasıl kullanabileceğiniz aşağıda açıklanmıştır. Apidog , API'nizi doğrudan araç içinde test etmenizi sağlar. GET, POST, PUT ve DELETE istekleri yapabilir ve yanıtları gerçek zamanlı olarak görebilirsiniz.

Adım 1: Apidog'u açın ve yeni bir istek oluşturun.

Apidog

Adım 2: Yapmak istediğiniz POST isteği için API ayrıntılarını bulun veya manuel olarak girin.

Apidog

Adım 3: Gerekli parametreleri ve istek gövdesine dahil etmek istediğiniz verileri doldurun.

Apidog

Apidog'u iş akışınıza entegre ederek, zaman kazanabilir ve API geliştirmedeki yaygın tuzaklardan kaçınabilirsiniz. Ayrıca, indirmek ve kullanmak ücretsizdir!

Sözümüze güvenmeyin; Apidog'u ücretsiz indirin ve farkı kendiniz deneyimleyin!

Daha Fazla Karmaşıklık Ekleme: Sorgu Parametreleri

Şimdi temel bir API rotamız olduğuna göre, sorgu parametrelerini işleyerek biraz karmaşıklık ekleyelim. Kullanıcıların listesini adlarına göre filtrelemek istediğimizi varsayalım. Bunu users.js dosyamızı değiştirerek başarabiliriz:

// pages/api/users.js

export default function handler(req, res) {
  const { query } = req;
  const { name } = query;

  const users = [
    { id: 1, name: 'John Doe' },
    { id: 2, name: 'Jane Doe' },
  ];

  if (name) {
    const filteredUsers = users.filter(user => user.name.toLowerCase().includes(name.toLowerCase()));
    res.status(200).json(filteredUsers);
  } else {
    res.status(200).json(users);
  }
}

Bu güncellemeyle, API'miz artık kullanıcıları name sorgu parametresine göre filtreleyebilir. Örneğin, http://localhost:3000/api/users?name=john adresine gitmek şunları döndürecektir:

[
  { "id": 1, "name": "John Doe" }
]

Farklı HTTP Yöntemlerini İşleme

API'ların genellikle GET, POST, PUT ve DELETE gibi farklı HTTP yöntemlerini işlemesi gerekir. Yeni kullanıcılar eklemek için POST isteklerini işlemek üzere users.js dosyamızı değiştirelim:

// pages/api/users.js

let users = [
  { id: 1, name: 'John Doe' },
  { id: 2, name: 'Jane Doe' },
];

export default function handler(req, res) {
  const { method } = req;

  switch (method) {
    case 'GET':
      res.status(200).json(users);
      break;
    case 'POST':
      const { name } = req.body;
      const newUser = { id: users.length + 1, name };
      users.push(newUser);
      res.status(201).json(newUser);
      break;
    default:
      res.setHeader('Allow', ['GET', 'POST']);
      res.status(405).end(`Method ${method} Not Allowed`);
  }
}

Artık API'miz hem GET hem de POST isteklerini işleyebilir. POST isteğini test etmek için Postman gibi bir araç veya daha iyisi Apidog kullanabilirsiniz. http://localhost:3000/api/users adresine bir JSON gövdesiyle bir POST isteği yapın:

{
  "name": "Alice Smith"
}

Yanıt, yeni oluşturulan kullanıcı olmalıdır:

{
  "id": 3,
  "name": "Alice Smith"
}

Next.js API'larında Hata İşleme

Sağlam hata işleme, herhangi bir API için çok önemlidir. Geçersiz istekler için hata işlemeyi dahil etmek üzere users.js dosyamızı geliştirelim:

// pages/api/users.js

let users = [
  { id: 1, name: 'John Doe' },
  { id: 2, name: 'Jane Doe' },
];

export default function handler(req, res) {
  const { method } = req;

  switch (method) {
    case 'GET':
      res.status(200).json(users);
      break;
    case 'POST':
      const { name } = req.body;
      if (!name) {
        res.status(400).json({ error: 'Name is required' });
      } else {
        const newUser = { id: users.length + 1, name };
        users.push(newUser);
        res.status(201).json(newUser);
      }
      break;
    default:
      res.setHeader('Allow', ['GET', 'POST']);
      res.status(405).end(`Method ${method} Not Allowed`);
  }
}

Şimdi, gövdede bir name özelliği olmadan bir POST isteği yapmaya çalışırsanız, bir hata yanıtı alacaksınız:

{
  "error": "Name is required"
}

Next.js API'nizi Güvenli Hale Getirme

Güvenlik, herhangi bir API için en büyük önceliktir. API rotalarımız için temel kimlik doğrulamayı uygulayalım. İstekleri doğrulamak için bir API anahtarı kullanacağız. İlk olarak, API anahtarımız için yeni bir ortam değişkeni oluşturalım. Projenizin kökünde bir .env.local dosyası oluşturun:

API_KEY=mysecretapikey

Ardından, API anahtar kimlik doğrulamasını dahil etmek için users.js dosyanızı güncelleyin:

// pages/api/users.js

let users = [
  { id: 1, name: 'John Doe' },
  { id: 2, name: 'Jane Doe' },
];

export default function handler(req, res) {
  const { method, headers } = req;
  const apiKey = headers['x-api-key'];

  if (apiKey !== process.env.API_KEY) {
    return res.status(401).json

({ error: 'Unauthorized' });
  }

  switch (method) {
    case 'GET':
      res.status(200).json(users);
      break;
    case 'POST':
      const { name } = req.body;
      if (!name) {
        res.status(400).json({ error: 'Name is required' });
      } else {
        const newUser = { id: users.length + 1, name };
        users.push(newUser);
        res.status(201).json(newUser);
      }
      break;
    default:
      res.setHeader('Allow', ['GET', 'POST']);
      res.status(405).end(`Method ${method} Not Allowed`);
  }
}

Şimdi, API rotalarınız kimlik doğrulaması için bir API anahtarı gerektirir. API'ye erişmek için isteklerinizde x-api-key başlığını ekleyin:

{
  "x-api-key": "mysecretapikey"
}

Sonuç

Next.js ile API'lar oluşturmak hem eğlenceli hem de ödüllendiricidir. API rotaları oluşturmanın, farklı HTTP yöntemlerini işlemenin, hata işlemenin ve güvenlik eklemenin temellerini ele aldık. Ayrıca, API'larınızı tasarlamak, test etmek ve belgelemek için harika bir araç olan Apidog'u tanıttık.

İster deneyimli bir geliştirici olun, ister yeni başlıyor olun, Next.js ve Apidog, güçlü, ölçeklenebilir API'lar oluşturmak için ihtiyacınız olan araçları sağlar. Öyleyse, ne bekliyorsunuz? Bugün Next.js API'nizi oluşturmaya başlayın ve geliştirme sürecinizi kolaylaştırmak için Apidog'u ücretsiz indirmeyi unutmayın.

button

Explore more

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Yerel DeepSeek R1'i Cursor IDE ile kurun ve yapılandırın. Özel, uygun maliyetli AI kodlama yardımı için.

4 June 2025

Android'de Gemma 3n Nasıl Çalıştırılır?

Android'de Gemma 3n Nasıl Çalıştırılır?

Google AI Edge Gallery'den Gemma 3n'i Android'e kurup çalıştırmayı öğrenin.

3 June 2025

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

Claude Code'u GitHub Actions ile entegre edin: Kod incelemeleri, hata düzeltmeleri ve özellik uygulamaları. Kurulum, iş akışları ve geliştiriciler için ipuçları.

29 May 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin