Node.js ile REST API Yazma Rehberi: Başlangıçtan İleri Seviyeye

Node.js ile REST API Yazma Rehberi: Başlangıçtan İleri Seviyeye

Bu blog yazısında, Node.js ve Express.js kullanarak basit bir REST API nasıl yazılır, adım adım gösterilmiştir. API'nin temel işlevleri olan GET, POST, PUT, ve DELETE istekleri işlenmiştir.

Al_Yapay_Zeka

Web uygulamaları geliştirmek isteyen bir yazılımcıysanız, API'ler (Uygulama Programlama Arayüzleri) artık olmazsa olmaz bir parça haline geldi. Hem mobil hem de web uygulamalarının arkasındaki sihir, genellikle güçlü bir API ile gerçekleşir. Peki, bu API'leri nasıl yazarsınız? Tabii ki Node.js ile! Eğer "Node.js nedir?" diye soruyorsanız, basitçe söylemek gerekirse, JavaScript kodlarını sunucu tarafında çalıştırmanızı sağlayan bir platformdur. Bu yazımızda, sıfırdan bir REST API nasıl yazılır, onu göstereceğiz.

Node.js ile REST API Nedir?

REST API, Representational State Transfer kelimelerinin kısaltmasıdır ve web üzerindeki kaynaklara HTTP protokolü üzerinden erişim sağlamanızı kolaylaştırır. REST API'leri genellikle veri alışverişi yapmak için JSON formatını kullanır. Node.js'in hızlı ve hafif yapısı, REST API'lerini yazmak için mükemmel bir platform sunar.

Adım 1: Node.js'i Kurma

İlk adım olarak, bilgisayarınıza Node.js'i indirip kurmanız gerekiyor. Bunun için [Node.js'in resmi web sitesine](https://nodejs.org/) gidip, işletim sisteminize uygun sürümü indirmeniz yeterli.

Kurulum işlemi tamamlandıktan sonra, terminal veya komut satırını açarak aşağıdaki komutla Node.js'in yüklendiğini doğrulayabilirsiniz:


node -v


Bu komut, Node.js'in yüklü olduğunu ve hangi sürümün kurulu olduğunu gösterir.

Adım 2: Yeni Bir Proje Oluşturma

Node.js ile yeni bir API yazmaya başlamak için, öncelikle bir proje klasörü oluşturmalısınız. Komut satırında aşağıdaki adımları takip ederek hızlıca bir proje başlatabilirsiniz:


mkdir my-api
cd my-api
npm init -y


Bu komutlar, `my-api` adında bir klasör oluşturacak ve içerisinde bir `package.json` dosyası yaratacaktır. Bu dosya, proje bağımlılıklarını yönetecektir.

Adım 3: Express.js'i Kurma

Node.js üzerinde bir REST API geliştirmek için en popüler araçlardan biri Express.js'dir. Express, Node.js üzerinde web uygulamaları geliştirmeyi kolaylaştıran bir framework'tür. Şimdi Express'i projemize dahil edelim:


npm install express


Bu komut, Express.js'i projenize kurar.

Adım 4: API'yi Yazma

Şimdi, Express'i kullanarak basit bir REST API yazmaya başlayalım. Bu API, kullanıcı bilgilerini döndüren bir "GET" isteği yapacak. Proje klasörünüzde `index.js` adında bir dosya oluşturun ve içine şu kodu yazın:


const express = require('express');
const app = express();

// Kullanıcı verilerini saklamak için bir mock veri
const users = [
  { id: 1, name: 'Ali', age: 30 },
  { id: 2, name: 'Ayşe', age: 25 },
  { id: 3, name: 'Mehmet', age: 35 }
];

// Tüm kullanıcıları listeleyen endpoint
app.get('/users', (req, res) => {
  res.json(users);
});

// Sunucu çalıştırma
const PORT = process.env.PORT || 3000;
app.listen(PORT, () => {
  console.log(`Sunucu http://localhost:${PORT} adresinde çalışıyor...`);
});


Adım 5: Sunucuyu Çalıştırma

Yazdığınız API'yi test etmek için sunucuyu başlatmanız gerekiyor. Terminalde aşağıdaki komutu çalıştırarak sunucuyu başlatabilirsiniz:


node index.js


Artık tarayıcınızda `http://localhost:3000/users` adresine giderek kullanıcı verilerini JSON formatında görebilirsiniz. Eğer başarılı bir şekilde JSON verilerini görüyorsanız, API'niz çalışıyor demektir!

Adım 6: POST İsteği İle Veri Eklemek

REST API'nin sadece verileri almakla kalmadığını, aynı zamanda yeni veriler ekleyip güncelleyebileceğimizi unutmamalıyız. Şimdi, `POST` isteği ile yeni bir kullanıcı eklemeyi gösterelim. Aşağıdaki kodu `index.js` dosyasına ekleyin:


app.use(express.json()); // JSON verilerini almak için middleware

// Yeni bir kullanıcı ekleyen endpoint
app.post('/users', (req, res) => {
  const newUser = req.body;
  users.push(newUser);
  res.status(201).json(newUser);
});


Bu kod, API'ye gelen `POST` istekleriyle kullanıcı verisi alacak ve bu veriyi `users` dizisine ekleyecektir. Yeni kullanıcıları eklemek için Postman veya benzeri bir araç kullanarak şu endpoint'e istek gönderebilirsiniz: `POST http://localhost:3000/users`.

Adım 7: PUT ve DELETE İsteklerini Eklemek

Veri eklemenin dışında, mevcut verileri güncellemek ve silmek de API'lerin vazgeçilmez işlemlerindendir. İşte bu işlemler için gerekli olan `PUT` ve `DELETE` istekleri:


// Kullanıcıyı güncelleyen endpoint
app.put('/users/:id', (req, res) => {
  const userId = parseInt(req.params.id);
  const updatedUser = req.body;
  let user = users.find(u => u.id === userId);

  if (user) {
    user = { ...user, ...updatedUser };
    res.json(user);
  } else {
    res.status(404).send('Kullanıcı bulunamadı');
  }
});

// Kullanıcıyı silen endpoint
app.delete('/users/:id', (req, res) => {
  const userId = parseInt(req.params.id);
  const userIndex = users.findIndex(u => u.id === userId);

  if (userIndex !== -1) {
    users.splice(userIndex, 1);
    res.status(204).send();
  } else {
    res.status(404).send('Kullanıcı bulunamadı');
  }
});


Sonuç

Ve işte bu kadar! Node.js ve Express.js ile temel bir REST API yazdınız. Bu API, GET, POST, PUT ve DELETE istekleri ile çalışıyor. Artık geliştirmeye devam edebilir, yeni özellikler ekleyebilirsiniz. İleri düzeydeki özellikler için veritabanı entegrasyonları ve kullanıcı doğrulaması gibi konulara geçebilirsiniz.

Bu yazıda, Node.js kullanarak basit ama güçlü bir REST API'nin temellerini attık. Projeyi geliştirmek tamamen sizin hayal gücünüze ve ihtiyaçlarınıza bağlı! Umarım yazdığınız API'ler, size bol bol yeni fırsatlar sunar.

İlgili Yazılar

Benzer konularda diğer yazılarımız

ApiUp Nedir?

Merhabalar, bir süredir üzerinde çalıştığım yeni projemi hayata geçirdim. Bu Proje sayesinde, IRC sunucuları en popüler uygulamalarla entegre edilebiliyor. Şu anda Skype, WhatsApp ve Telegram uygulamalarını destekliyoruz. API Sayesinde, IRC Sunucularından...

Yapay Zeka ile Web Tasarımında Devrim: AI Destekli Web Siteleri Nasıl Oluşturulur?

Dijital dünyada hızlı bir devrim yaşanıyor. Teknoloji ne kadar hızla ilerliyorsa, bizim ona ayak uydurmamız da o kadar önemli. Bu devrimdeki başrol oyuncularından biri ise Yapay Zeka (AI). Peki, bu devrim web tasarımını nasıl dönüştürüyor?### Web Tasarımında...

Yapay Zeka ile Web Site Hızlandırma: Otomatik Optimizasyon Yöntemleri ve Araçları

Web sitenizin hızı, dijital dünyada başarıya giden yolda en önemli faktörlerden biri haline geldi. Kullanıcılar hızla yüklenen sitelere daha fazla ilgi gösteriyor, arama motorları ise hız optimizasyonuna büyük önem veriyor. Peki, sitenizin hızını geleneksel...

Web Sitenizi Hızlandırmak İçin 10 Adım: Hız Optimizasyonunda Sık Yapılan Hatalar ve Çözümleri

Web Sitenizin Hızını Artırmak İçin Atmanız Gereken İlk AdımlarWeb siteniz yavaş mı açılıyor? Hızlı bir web sitesi, sadece kullanıcılarınız için daha iyi bir deneyim sunmakla kalmaz, aynı zamanda SEO performansınızı da büyük ölçüde iyileştirir. Ancak hız...

Svelte ile İlk Adım: Nasıl Kurulur ve İlk Uygulama Nasıl Yazılır?

Web dünyasında her geçen gün yeni bir teknoloji doğuyor ve geliştiriciler olarak bizler, hangi teknolojiyi kullanmamız gerektiğini belirlerken sürekli bir seçim yapmak zorunda kalıyoruz. Ancak bazen, bir teknoloji o kadar sade ve kullanımı o kadar eğlenceli...

Web Geliştiriciler İçin 2025'te En İyi JavaScript Framework'leri: Hangi Proje İçin Hangisini Seçmelisiniz?

JavaScript dünyası, tıpkı hızla gelişen bir teknoloji gibi her geçen yıl yepyeni sürprizlerle dolu. Web geliştiricilerinin favori araçları arasında yer alan framework'ler, projeleri daha hızlı, verimli ve sürdürülebilir bir şekilde geliştirmelerine yardımcı...