Başlangıç: Node.js ve Express ile Tanışın
Express.js ise, Node.js üzerinde çalışan minimal bir framework'tür. Web sunucusu kurmayı ve API geliştirmeyi inanılmaz derecede kolaylaştırır.
Şimdi, Express.js'i nasıl kuracağımıza bakalım:
npm init -yYukarıdaki komutlarla, yeni bir Node.js projesi oluşturup Express'i kurduk.
API Rotamızı Oluşturuyoruz
İlk API rotamızı şöyle yazıyoruz:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Merhaba Dünya!');
});
app.listen(port, () => {
console.log(`Sunucu http://localhost:${port} üzerinde çalışıyor`);
});
Burada `GET /` rotası, ana sayfaya gelen istekleri karşılıyor ve "Merhaba Dünya!" mesajını döndürüyor. Sunucumuz çalıştığında, terminalde "Sunucu http://localhost:3000 üzerinde çalışıyor" yazısını görmelisiniz.
POST ve Diğer HTTP Yöntemleri
İlk olarak, `express.json()` middleware'ini kullanarak gelen JSON verisini okuyabiliriz.
app.use(express.json());
app.post('/kullanici', (req, res) => {
const { ad, soyad } = req.body;
res.status(201).send(`Kullanıcı ${ad} ${soyad} başarıyla eklendi!`);
});
Yukarıdaki örnekte, `/kullanici` rotasına POST isteği yapıldığında, gelen veriyi alıyoruz ve kullanıcıyı başarılı bir şekilde eklediğimizi belirten bir mesaj döndürüyoruz.
Veritabanı ile Çalışmak
MongoDB'yi kurduktan sonra, veritabanına bağlanmak için `mongoose` kütüphanesini kurmamız gerekir:
npm install mongooseArdından, MongoDB veritabanına bağlanabilir ve kullanıcıları ekleyebiliriz:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/kullaniciDB', { useNewUrlParser: true, useUnifiedTopology: true });
const Kullanici = mongoose.model('Kullanici', { ad: String, soyad: String });
app.post('/kullanici', async (req, res) => {
const { ad, soyad } = req.body;
const yeniKullanici = new Kullanici({ ad, soyad });
await yeniKullanici.save();
res.status(201).send(`Kullanıcı ${ad} ${soyad} başarıyla kaydedildi!`);
});
Artık MongoDB'ye bağlanarak kullanıcı ekleyebiliyoruz!
Hata Yönetimi ve Güvenlik
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Bir hata oluştu!');
});
Sonuç
Yolculuğunuz burada bitmiyor! API’niz üzerinde daha fazla özellik ekleyebilir, güvenlik önlemleri alabilir ve performans iyileştirmeleri yapabilirsiniz. Unutmayın, her yeni projede deneyim kazandıkça daha yetkin olacaksınız!