Node.js ile REST API Nedir?
Adım 1: Node.js'i Kurma
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
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
npm install express
Bu komut, Express.js'i projenize kurar.
Adım 4: API'yi Yazma
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
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
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
// 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ç
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.