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!