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 Geliştirme: PHP ve Python'un Geleceği

Web geliştirme dünyası, yıllar içinde büyük bir evrim geçirdi ve bugün geldiğimiz noktada yapay zeka (YZ) bu evrimi çok daha hızlandırıyor. Yapay zeka ile web geliştirme, yalnızca kodlama sürecini kolaylaştırmakla kalmıyor, aynı zamanda kullanıcı deneyimini...

JavaScript "Uncaught ReferenceError": Hata Çözümü ve Nedenleri

JavaScript, web geliştirmede en çok kullanılan dillerden biri olsa da, bazen yazdığınız kodlar beklediğiniz gibi çalışmaz. Karşılaştığınız hatalar bazen o kadar sinir bozucu olabilir ki, "Nerede yanlış yapıyorum?" diye kendinize sorarsınız. İşte bu hatalardan...

Web Siteleri İçin Hız Optimizasyonu: CSS ve JavaScript Dosyalarını Asenkron Yükleyerek Performans Artırma Yöntemleri

Web sitenizin hızını artırmak, ziyaretçilerinizin memnuniyetini sağlamak ve SEO başarınızı artırmak için yapabileceğiniz birkaç önemli değişiklik vardır. Bu yazıda, özellikle CSS ve JavaScript dosyalarını asenkron yükleyerek web sitesi hızınızı nasıl...

JavaScript'te 'Callback Hell' Nasıl Önlenir? Modern Asenkron Programlamanın İpuçları

JavaScript dünyasında kod yazarken karşılaşılan bazı zorluklar, bazen başımızı ağrıtabilir. Özellikle asenkron programlamanın getirdiği 'Callback Hell' (Geri Çağırma Cehennemi) sorunu, geliştiricilerin başını en çok ağrıtan sorunlardan biridir. Kodunuzu...

Uncaught TypeError Hatası Nedir ve Nasıl Çözülür?

JavaScript ile uğraşan her geliştiricinin mutlaka karşılaştığı bir hata var: *Uncaught TypeError*. Bu hata, bir JavaScript kodu yazarken sıkça karşımıza çıkabilir ve bir anda projede işler karışmaya başlar. Peki bu hata tam olarak ne anlama geliyor ve...