Şimdi dilerseniz adım adım Express.js ile bir API nasıl geliştirileceğini inceleyelim.
1. Gerekli Araçları Yükleyelim
Komut satırınıza şu komutu yazın:
npm init -y
Bu komut, bir package.json dosyası oluşturacaktır. Şimdi Express'i yükleyelim:
npm install express
Bu işlem tamamlandığında Express.js proje klasörünüze dahil edilmiş olacak.
2. Temel Bir Sunucu Kuruyoruz
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Merhaba, Express API!');
});
app.listen(port, () => {
console.log(`Sunucu http://localhost:${port} adresinde çalışıyor`);
});
Burada neler yaptık? İlk olarak Express'i import ettik. Ardından bir GET isteği ile / (ana sayfa) yoluna gelen istekleri karşıladık ve basit bir metin döndürdük. En son olarak, 3000 numaralı portu dinlemeye başladık.
Sunucuyu çalıştırmak için terminal üzerinden şu komutu yazabilirsiniz:
node app.js
Eğer her şey doğruysa, tarayıcınızda http://localhost:3000 adresine gittiğinizde "Merhaba, Express API!" mesajını görmelisiniz.
3. API Routes (Yollar) Oluşturma
İlk önce /users yoluna gelen GET isteklerini yakalayalım ve kullanıcıları listeleyelim:
const users = [
{ id: 1, name: 'Ali', age: 28 },
{ id: 2, name: 'Ayşe', age: 25 },
{ id: 3, name: 'Mehmet', age: 32 }
];
app.get('/users', (req, res) => {
res.json(users);
});
Burada kullanıcıların olduğu bir dizi oluşturduk. /users endpoint'ine gelen GET isteklerine karşılık, bu kullanıcıların listesini JSON formatında döndürüyoruz.
4. Veri Gönderme ve Almak İçin POST İsteği
Örneğin, bir kullanıcı eklemek için şu adımları takip edelim:
app.use(express.json()); // JSON formatındaki verileri alabilmek için middleware ekliyoruz
app.post('/users', (req, res) => {
const newUser = req.body;
users.push(newUser);
res.status(201).json(newUser); // Yeni kullanıcıyı ekledik ve başarı mesajı döndük
});
Burada, express.json() middleware'i ile JSON formatındaki verileri alabiliyoruz. Gelen veriyi req.body üzerinden alıp, kullanıcılar listesine ekliyoruz. Yeni eklenen kullanıcıyı 201 Created statüsü ile geri gönderiyoruz.
5. Hata Yönetimi
app.use((req, res, next) => {
const error = new Error('Yol bulunamadı');
error.status = 404;
next(error); // Hata iletisini bir sonraki middleware'e gönderiyoruz
});
app.use((error, req, res, next) => {
res.status(error.status || 500);
res.json({
message: error.message
});
});
Burada, önce 404 Not Found hatası oluşturuyoruz. Eğer kullanıcı geçersiz bir yol girerse, hata mesajını dönüyoruz.
6. Sonuç
API geliştirmek hiç bu kadar eğlenceli olmamıştı, değil mi? Şimdi sıra sizde! Haydi, Express.js ile kendi projelerinizi geliştirmeye başlayın.