Node.js, ağ uygulamalarını tek bir dilde, hızlı ve hafif şekilde yazmanın en pratik yollarından biri. Bu yazıda Express ile küçük ama gerçek bir REST API kuracağız. Her kod bloğunun altında ne yaptığını anlatıyoruz; sağ üstteki düğmeyle kodu tek tıkla kopyalayabilirsin.
1. Projeyi hazırlama
Önce boş bir klasör açıp paketleri kuruyoruz. Node.js 18 veya üstü yeterli.
mkdir mini-api && cd mini-api
npm init -y
npm install express2. İlk uç nokta
Aşağıdaki dosya bir sunucu açar, JSON gövdelerini okur ve iki uç nokta tanımlar. express.json() ara katmanı olmadan req.body boş gelir; bu en sık yapılan hatadır.
const express = require('express');
const app = express();
app.use(express.json());
const todos = [{ id: 1, text: 'API yaz', done: false }];
// Tüm kayıtları listele
app.get('/api/todos', (req, res) => res.json(todos));
// Yeni kayıt ekle
app.post('/api/todos', (req, res) => {
const text = String(req.body.text || '').trim();
if (!text) return res.status(400).json({ error: 'text zorunlu' });
const todo = { id: todos.length + 1, text, done: false };
todos.push(todo);
res.status(201).json(todo);
});
app.listen(3000, () => console.log('http://localhost:3000'));3. Hata yönetimi
Beklenmeyen hatalar sunucuyu düşürmemeli. Tüm rotaların sonuna tek bir hata yakalayıcı eklemek yeterli:
app.use((err, req, res, next) => {
console.error(err);
res.status(500).json({ error: 'Sunucu hatası' });
});4. Test etme
Sunucuyu node server.js ile başlatıp başka bir terminalden deneyebilirsin:
curl http://localhost:3000/api/todos
curl -X POST http://localhost:3000/api/todos \
-H "Content-Type: application/json" \
-d '{"text":"Blog yaz"}'Sırada ne var?
Gerçek projede verileri bir veritabanına yazmak, girdileri doğrulamak ve hız sınırı eklemek gerekir. 1001renk.net altyapısı bu üç katmanı hazır getirir; temalarımızı inceleyerek canlı örneklerini görebilirsin.

