Node.js ile API Geliştirme: Başlangıç Rehberi

E-posta Hosting Kampanya

Node.js Nedir?

Node.js, JavaScript tabanlı, açık kaynaklı ve asenkron olay güdümlü bir çalışma ortamıdır. Genellikle web sunucuları ve API geliştirme süreçlerinde kullanılır. Node.js, Chrome’un V8 motorunu kullanarak JavaScript kodlarını sunucu tarafında çalıştırır.

Node.js’in öne çıkan özellikleri şunlardır:

  • Asenkron ve olay güdümlü çalışma
  • Hızlı ve ölçeklenebilir olması
  • Tek dil (JavaScript) ile hem istemci hem de sunucu geliştirme imkanı
  • Zengin paket ekosistemi (NPM)

Bu rehberde Node.js kullanarak sıfırdan bir RESTful API geliştirmeyi öğreneceğiz.

Node.js API Geliştirme İçin Gerekli Araçlar

API geliştirmeye başlamadan önce aşağıdaki araçlara ihtiyacımız var:

  • Node.js (İndirmek için: https://nodejs.org)
  • Express.js (Hızlı API geliştirme için Node.js framework’ü)
  • Postman veya cURL (API testleri için)
  • MongoDB veya PostgreSQL (Opsiyonel – Veritabanı bağlantısı için)

Eğer Node.js sisteminizde kurulu değilse, Node.js’in resmi sitesinden uygun sürümü indirip kurabilirsiniz.

Adım 1: Node.js Projesi Oluşturma

İlk olarak yeni bir proje klasörü oluşturun ve içine girin:

mkdir node-api && cd node-api

Daha sonra npm ile bir proje başlatın:

npm init -y

Bu komut, projeniz için package.json dosyasını oluşturur.

Adım 2: Express.js Kurulumu

Express.js, Node.js üzerinde API geliştirmeyi kolaylaştıran minimal bir framework’tür. Projeye eklemek için şu komutu çalıştırın:

npm install express

Kurulum tamamlandıktan sonra, temel bir Express sunucusu oluşturalım.

Adım 3: İlk API Endpoint’ini Oluşturma

server.js adında bir dosya oluşturun ve içine şu kodları ekleyin:

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

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

// Basit bir GET endpoint'i
app.get('/', (req, res) => {
    res.send('Node.js API’ye hoş geldiniz!');
});

// Sunucuyu başlat
app.listen(PORT, () => {
    console.log(`Sunucu ${PORT} portunda çalışıyor...`);
});

Ardından sunucuyu çalıştırmak için terminalde şu komutu kullanın:

node server.js

Tarayıcınızda http://localhost:3000/ adresine giderseniz “Node.js API’ye hoş geldiniz!” mesajını göreceksiniz. 🎉

Adım 4: API İçin CRUD İşlemleri Geliştirme

Şimdi basit bir kullanıcı yönetim API’si oluşturacağız. Aşağıdaki işlemleri yapacağız:

  • GET → Tüm kullanıcıları getir
  • POST → Yeni kullanıcı ekle
  • PUT → Kullanıcı güncelle
  • DELETE → Kullanıcı sil

Öncelikle, geçici olarak kullanıcıları saklamak için bir dizi oluşturalım:

let users = [
    { id: 1, name: "Ali" },
    { id: 2, name: "Ayşe" }
];

GET – Kullanıcıları Listeleme

app.get('/users', (req, res) => {
    res.json(users);
});

Bu endpoint tarayıcıda http://localhost:3000/users adresine gidildiğinde tüm kullanıcıları JSON formatında döndürecektir.

POST – Yeni Kullanıcı Ekleme

app.post('/users', (req, res) => {
    const newUser = {
        id: users.length + 1,
        name: req.body.name
    };
    users.push(newUser);
    res.status(201).json(newUser);
});

Bu API’yi test etmek için Postman veya cURL ile şu isteği yapabilirsiniz:

curl -X POST http://localhost:3000/users -H "Content-Type: application/json" -d '{"name": "Mehmet"}'

PUT – Kullanıcı Güncelleme

app.put('/users/:id', (req, res) => {
    const user = users.find(u => u.id === parseInt(req.params.id));
    if (!user) return res.status(404).send("Kullanıcı bulunamadı.");
    
    user.name = req.body.name;
    res.json(user);
});

Bu endpoint, belirli bir kullanıcının ismini güncelleyerek JSON formatında döndürecektir.

DELETE – Kullanıcı Silme

app.delete('/users/:id', (req, res) => {
    users = users.filter(u => u.id !== parseInt(req.params.id));
    res.send("Kullanıcı silindi.");
});

Bu API çağrıldığında ilgili kullanıcı listeden kaldırılır.

Adım 5: API’yi Geliştirme ve Güçlendirme

Şimdi API’mizi daha profesyonel hale getirmek için şu adımları uygulayabiliriz:

1. CORS Desteği Ekleyin

Eğer API’niz başka bir web sitesi tarafından kullanılacaksa CORS (Cross-Origin Resource Sharing) ayarlarını yapmalısınız. Bunu yapmak için cors modülünü yükleyin:

npm install cors

Daha sonra aşağıdaki satırı ekleyin:

const cors = require('cors');
app.use(cors());

2. Hata Yönetimi Ekleyin

Hataları daha iyi yönetmek için try-catch blokları ekleyebilirsiniz:

app.get('/users/:id', (req, res) => {
    try {
        const user = users.find(u => u.id === parseInt(req.params.id));
        if (!user) throw new Error("Kullanıcı bulunamadı.");
        res.json(user);
    } catch (error) {
        res.status(404).json({ message: error.message });
    }
});

3. JWT ile Kimlik Doğrulama Ekleyin

Kullanıcı girişini güvenli hale getirmek için JSON Web Token (JWT) kullanabilirsiniz:

npm install jsonwebtoken

Bu modülle güvenli oturum yönetimi sağlayabilirsiniz.

Sonuç

Bu rehberde Node.js ve Express.js kullanarak temel bir API geliştirme sürecini öğrendik. İşte yaptıklarımızın özeti:

✅ Express.js ile bir RESTful API kurduk.
GET, POST, PUT, DELETE istekleriyle CRUD işlemlerini gerçekleştirdik.
CORS ve hata yönetimi ekledik.
Kimlik doğrulama (JWT) gibi eklemelerle API’yi daha güvenli hale getirdik.

Bu API’yi MongoDB veya PostgreSQL gibi bir veritabanına bağlayarak daha gelişmiş hale getirebilirsiniz.