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

"Web Uygulamalarında Performansı Arttırmanın 7 Yolu: Basit Ama Etkili İpuçları"

Web dünyasında hız her şeydir. Kullanıcılar sabırsızdır ve yükleme süreleri uzun olan siteleri terk etme eğilimindedir. Her saniye, sitenizin başarısı için çok önemlidir. Bu nedenle, web uygulamanızın performansını artırmak, hem kullanıcı deneyimini hem...

Yapay Zeka ve Web Geliştirme: 2025'te Kodlama Süreçlerini Nasıl Değiştirecek?

2025 yılına adım attığımızda, teknoloji dünyasında her şeyin hızla değiştiğini bir kez daha göreceğiz. Web geliştirme dünyası da bu değişimden nasibini alacak. Özellikle yapay zeka, yazılım geliştirme süreçlerinde devrim yaratacak araçlardan biri olarak...

Web Geliştiricilerin Bilmediği 10 JavaScript Hatası ve Hızlı Çözüm Yöntemleri

Giriş: JavaScript Dünyasında Kaybolan GeliştiricilerJavaScript, web dünyasının en güçlü araçlarından biri olsa da, bazen küçük hatalar bile büyük sorunlara yol açabiliyor. Eğer bir geliştiriciyseniz, JavaScript ile çalışırken “Neden çalışmıyor?” diye...

JavaScript Debugging: Neden Hata Mesajları Her Zaman Yetersizdir ve Nasıl Daha Etkili Hata Ayıklama Yapılır?

Hata Mesajları: Gerçekten Yardımcı Oluyor Mu?Bir JavaScript geliştiricisi olarak, hiç "bu hata mesajı bana ne anlatıyor?" diye düşündünüz mü? Yani, gerçekten faydalı mı? Genellikle hata mesajları, özellikle yeni başlayanlar için kafa karıştırıcı olabilir....

Yapay Zeka Destekli Web Tasarım: AI ile Kullanıcı Deneyimini Nasıl Geliştirebilirsiniz?

Web tasarımı, günümüz dijital dünyasında sadece estetik bir görüntüden çok daha fazlasını ifade ediyor. Bir web sitesinin başarısı, kullanıcıların deneyimiyle doğrudan bağlantılıdır. Peki, bir web tasarımını neyin benzersiz kılacağını hiç düşündünüz mü?...