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...

Node.js "Module not found" Hatası ve Çözümü

Node.js ile çalışırken karşılaştığınız en can sıkıcı hatalardan biri, "Module not found" hatasıdır. Eğer bu hatayı aldıysanız, yalnız değilsiniz! Çoğu geliştirici bir noktada bu hatayla karşılaşır. Bu yazıda, "Module not found" hatası nedir, neden olur...

Yapay Zeka ile Web Tasarımı: 2025'te Devrim Yaratacak 5 Yeni Trend

Web tasarımı, yıllardır her geçen gün evrilen ve şekil değiştiren bir alan. Ancak 2025 yılı, bu evrimi daha önce hiç olmadığı kadar hızlandıracak gibi görünüyor. Yapay zeka ve makine öğrenimi, tasarım dünyasını tamamen dönüştürme potansiyeline sahip....

Django REST Framework Nasıl Kullanılır? Basit Adımlarla API Geliştirme

Django'nun gücünü bilenler, bir de üzerine Django REST Framework (DRF) ile web uygulamalarında API'ler oluşturmanın ne kadar kolay olduğunu keşfettiğinde, işin keyfi bir başka oluyor. Eğer sen de Django kullanarak web uygulamanı geliştirdiysen ve bu uygulamaya...

Web Sitesi Hızını Artırmak İçin 2025'te Kullanabileceğiniz 10 Yeni Yöntem

**2025’te web sitesi hızını artırmanın yolları, gelişen teknolojilerle birlikte daha önce hiç olmadığı kadar heyecan verici ve verimli hale geldi. İnternetteki hız, sadece kullanıcı deneyimini değil, aynı zamanda SEO sıralamalarını da doğrudan etkileyen...

Web Geliştiricilerin Sıkça Yaptığı 7 HTML ve CSS Hatası ve Nasıl Kaçınılır?

Web geliştirme dünyası, bazen başını döndüren bir yer olabilir. Çoğu zaman basit bir HTML ya da CSS hatası, projede büyük sorunlara yol açabiliyor. Ancak endişelenmeyin, bu yazıda size web geliştiricilerin sıkça yaptığı 7 hatayı ve bu hatalardan nasıl...