Node.js ile REST API Nasıl Yazılır?

Bu yazı, Node.js ile basit bir REST API nasıl yazılır sorusunu adım adım anlatmaktadır. Express kullanarak temel CRUD işlemleri gerçekleştiren bir API geliştirilecektir.

BFS

Merhaba! Bugün birlikte Node.js ile REST API yazmayı öğreneceğiz. Eğer JavaScript'e hakimseniz ve API geliştirmeye meraklıysanız, doğru yerdesiniz!



Node.js, backend geliştirmede kullanılan popüler bir JavaScript çalışma ortamıdır. Aslında, Node.js ile REST API yazmak oldukça kolay ve hızlı bir işlem olabilir. Bu yazıda, adım adım Node.js ile basit bir REST API oluşturacağız ve API'nin temel yapı taşlarını inceleyeceğiz.

Node.js ile REST API Kurulumuna Başlarken



Öncelikle, Node.js'in bilgisayarınızda kurulu olması gerekiyor. Eğer yüklü değilse, [Node.js'in resmi web sitesinden](https://nodejs.org/) en son sürümü indirip kurabilirsiniz.

Node.js kurulumundan sonra, bir proje klasörü oluşturup içine terminalden giriyoruz. Ardından, `npm init` komutunu çalıştırarak yeni bir Node.js projesi başlatıyoruz. Burada bazı temel bilgileri girmemiz istenecek. Tüm bu işlemleri hızlıca geçebiliriz, çünkü odak noktamız API'nin yapısı!

Komutları sırasıyla aşağıda bulabilirsiniz:


mkdir node-rest-api
cd node-rest-api
npm init -y


Bu işlemi yaptıktan sonra, `express` gibi popüler bir web framework'ü kullanacağız. Express, Node.js ile API geliştirmeyi inanılmaz derecede kolaylaştırır. Şimdi Express'i kurmaya başlayalım.


npm install express


Basit Bir API Yazalım



Şimdi, projemizi kurduk ve Express'i yükledik. Artık API'mizi yazmaya başlayabiliriz. Basit bir CRUD (Create, Read, Update, Delete) işlemleri gerçekleştiren bir API oluşturacağız.

Aşağıdaki kod, basit bir GET isteği nasıl yapılır, onu gösteriyor. Bu API sadece kullanıcıları listeleyecek.


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

let users = [
    { id: 1, name: 'Ahmet', age: 25 },
    { id: 2, name: 'Ayşe', age: 30 },
    { id: 3, name: 'Mehmet', age: 22 }
];

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

app.listen(port, () => {
    console.log(`API server running at http://localhost:${port}`);
});


Yukarıdaki kodda şunları yaptık:

- `express`'i projeye dahil ettik.
- `/api/users` endpoint'ine gelen GET isteklerine cevap vermek için bir route tanımladık.
- Bu route, basit bir kullanıcı listesi döndüren bir JSON yanıtı sağlıyor.

Bu kadar basit! Şimdi tarayıcınızda `http://localhost:3000/api/users` adresine giderek kullanıcıları görebilirsiniz.

POST, PUT ve DELETE İstekleri



Tabii ki, sadece GET isteği ile API'miz eksik kalır. Bir REST API genellikle verileri eklemek, güncellemek ve silmek için POST, PUT ve DELETE metodlarını da kullanır. Hadi bunları da ekleyelim.

Öncelikle, POST isteği ile yeni bir kullanıcı ekleyelim:


app.use(express.json()); // JSON verisini alabilmek için middleware

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


Bu kodda:

- Kullanıcıdan gelen verileri almak için `express.json()` middleware'ini kullandık.
- Yeni kullanıcıyı `users` dizisine ekledik ve kullanıcıyı başarılı bir şekilde eklediğimizde HTTP 201 durumu döndük.

PUT isteği ile bir kullanıcının bilgilerini güncelleyebiliriz:


app.put('/api/users/:id', (req, res) => {
    const { id } = req.params;
    const { name, age } = req.body;
    const user = users.find(u => u.id === parseInt(id));
    
    if (user) {
        user.name = name;
        user.age = age;
        res.json(user);
    } else {
        res.status(404).json({ message: 'User not found' });
    }
});


Ve son olarak, DELETE isteği ile bir kullanıcıyı silebiliriz:


app.delete('/api/users/:id', (req, res) => {
    const { id } = req.params;
    const userIndex = users.findIndex(u => u.id === parseInt(id));
    
    if (userIndex !== -1) {
        const deletedUser = users.splice(userIndex, 1);
        res.json(deletedUser);
    } else {
        res.status(404).json({ message: 'User not found' });
    }
});


Sonraki Adımlar



Artık temel bir REST API oluşturduk. Ancak, gerçek dünya uygulamalarında doğrulama, hata yönetimi, kimlik doğrulama ve daha fazlasını eklemeniz gerekebilir. Express ile bunları eklemek oldukça kolaydır.

Örneğin, kullanıcıların yalnızca belirli bilgileri göndermesi gerektiğini kontrol etmek için doğrulama kütüphanelerini kullanabilirsiniz. Ayrıca, JWT (JSON Web Token) gibi teknolojilerle kimlik doğrulama ekleyebilirsiniz.

Sonuç



İşte, basit bir Node.js REST API'nin temelleri! Artık API'niz çalışıyor ve verileri alıp gönderebiliyorsunuz. Tabii ki, ilerledikçe API'nizi daha karmaşık hale getirebilir ve daha fazla özelleştirebilirsiniz. Unutmayın, Node.js ve Express sayesinde bu süreç çok daha hızlı ve verimli hale geliyor.

Umarım bu yazı, REST API geliştirme yolculuğunuzda size ilham verir!

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

ASP.NET Core ile Mobil Uygulama Geliştirme: Cross-Platform Web ve Mobil Uygulama Birleştirme

Günümüzde mobil uygulamalar hayatımızın ayrılmaz bir parçası haline geldi. Akıllı telefonlarımızda geçirdiğimiz zamanın büyük bir kısmını mobil uygulamalar sayesinde geçiriyoruz. Peki, bir mobil uygulama geliştirirken karşılaştığımız zorlukları nasıl...

ASP.NET Core 500 Internal Server Error: Sebepleri ve Çözümleri

Bir web geliştiricisi olarak, karşılaştığınız en zorlayıcı hatalardan biri şüphesiz "500 Internal Server Error"dır. Bu hata, web uygulamanızda her şeyin yolunda gittiğini düşündüğünüz bir anda karşınıza çıkabilir ve tüm projeyi durdurabilir. Ancak merak...