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

JavaScript'te 'Event Loop' ve Asenkron Programlamanın Gizemlerini Çözmek: Neden Senkron Kod Çalıştırırken Asenkron Kodlar Daha Hızlı?

JavaScript dünyasında, zaman zaman bazı kavramlar bizleri başından aşkın bir şekilde meşgul eder. İşte bu kavramlardan biri de "Event Loop"tur. Hem geliştiricilerin hem de JavaScript'e yeni başlayanların kafasında deli sorulara yol açan bu kavramın ne...

Windows'ta PHP Session Hatası ve Çözümü: Kolay Adımlarla Sorun Giderme

PHP ile çalışmaya başladığınızda, genellikle hızlıca çözülebilecek birkaç basit sorunla karşılaşırsınız. Ancak, bir de var ki, size kafa karıştıran ve vakit kaybettiren bir hata vardır: *PHP Session Hatası*. Hadi gelin, Windows işletim sistemi üzerinde...

Django Nasıl Kurulur? Linux Üzerinde Adım Adım Django Kurulum Rehberi

Web geliştirme dünyasına girmeyi düşünüyor musun? Hedefinde hızlı ve verimli bir şekilde web projeleri oluşturmak mı var? O zaman Django, senin için doğru seçim olabilir! Python tabanlı bir framework olan Django, güçlü yapısı ve kolay kullanımı ile geliştirme...

Web Sitesi Performansını Artırmak İçin Sadece 5 Dakikada Yapabileceğiniz Küçük Ama Etkili Optimizasyon Taktikleri

Web sitesi sahipleri ve yöneticileri için site performansını artırmak, hem kullanıcı deneyimini iyileştirmek hem de SEO açısından önemli bir faktör. Ama bazen işlerin yoğunluğunda performans iyileştirmeleri zaman alıcı ve zor gibi görünebilir. Oysa, küçük...

"Laravel'de En İyi Performans İçin Cache Kullanımı: Nasıl Yapılır ve Neden Önemlidir?"

Laravel'de En İyi Performans İçin Cache Kullanımı: Nasıl Yapılır ve Neden Önemlidir?Laravel ile bir web uygulaması geliştirdiğinizde, performans her zaman önceliğiniz olmalıdır. Uygulamanın hızlı olması, kullanıcı deneyimini artırır ve SEO açısından da...