Giriş: Node.js ile REST API'ye Adım Adım Yolculuk
Node.js, JavaScript’i sunucu tarafında kullanmamızı sağlayan harika bir platformdur. Web uygulamaları ve servisler geliştirmek için oldukça popüler hale gelmiştir. Peki, web geliştirme dünyasında sıklıkla duyduğumuz REST API nedir? REST (Representational State Transfer) API'leri, web servislerinin birbirleriyle iletişim kurmasını sağlayan yapılar olarak hayatımızda önemli bir yer tutuyor.
Bu yazıda, Node.js kullanarak bir REST API oluşturmanın adımlarını keşfedeceğiz. Bu kılavuz, sıfırdan başlayıp, bir REST API’yi adım adım geliştirmemize yardımcı olacak. Hazırsanız, başlayalım!
1. Node.js ve Express.js’i Kurmak
İlk adımda, Node.js ve Express.js'i kurmamız gerekiyor. Express.js, Node.js için minimal ve esnek bir web uygulama çerçevesidir. Bu, REST API'nizin iskeletini oluşturmak için mükemmel bir araçtır.
Eğer bilgisayarınızda Node.js kurulu değilse, öncelikle [Node.js'in resmi sitesinden](https://nodejs.org/) en son sürümü indirip kurabilirsiniz. Kurulum tamamlandıktan sonra, terminal veya komut satırını açarak yeni bir proje dizini oluşturuyoruz:
mkdir nodejs-rest-api
cd nodejs-rest-api
npm init -y
Bu komutlar, yeni bir Node.js projesi başlatmanıza yardımcı olacak. Şimdi Express.js’i yükleyelim:
npm install express
Express.js yüklendikten sonra, projemizin kök dizininde bir `index.js` dosyası oluşturalım ve Express’i projeye dahil edelim.
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Merhaba, Node.js REST API\'sine Hoşgeldiniz!');
});
app.listen(port, () => {
console.log(`Sunucu http://localhost:${port} adresinde çalışıyor`);
});
Bu kod parçası, temel bir Express sunucusu başlatacaktır. Şimdi terminalde şu komutu çalıştırarak sunucuyu başlatabilirsiniz:
node index.js
Tarayıcınızda [http://localhost:3000](http://localhost:3000) adresini ziyaret ettiğinizde, "Merhaba, Node.js REST API'sine Hoşgeldiniz!" mesajını görmelisiniz.
2. REST API Yöntemlerini Tanımlamak
Artık temel bir Express.js sunucusuna sahip olduğumuza göre, REST API’mizin işlevselliğini eklemeye başlayabiliriz. REST API'leri genellikle belirli HTTP yöntemleri kullanarak veri alır, gönderir, günceller veya siler. Bu yöntemler:
- GET: Veri almak için kullanılır.
- POST: Yeni veri eklemek için kullanılır.
- PUT: Var olan veriyi güncellemek için kullanılır.
- DELETE: Veri silmek için kullanılır.
Hadi, API'mizi kullanıcı bilgilerini depolamak için bu dört işlemi destekleyecek şekilde geliştirelim. Öncelikle, basit bir kullanıcı listesi için `users` adında bir dizi oluşturacağız.
let users = [
{ id: 1, name: 'Ali', age: 25 },
{ id: 2, name: 'Ayşe', age: 30 }
];
// GET /users - Tüm kullanıcıları listeleme
app.get('/users', (req, res) => {
res.json(users);
});
// GET /users/:id - Belirli bir kullanıcıyı ID ile getirme
app.get('/users/:id', (req, res) => {
const user = users.find(u => u.id === parseInt(req.params.id));
if (!user) return res.status(404).send('Kullanıcı bulunamadı');
res.json(user);
});
// POST /users - Yeni kullanıcı ekleme
app.post('/users', express.json(), (req, res) => {
const { name, age } = req.body;
const newUser = { id: users.length + 1, name, age };
users.push(newUser);
res.status(201).json(newUser);
});
// PUT /users/:id - Kullanıcıyı güncelleme
app.put('/users/:id', express.json(), (req, res) => {
const user = users.find(u => u.id === parseInt(req.params.id));
if (!user) return res.status(404).send('Kullanıcı bulunamadı');
user.name = req.body.name;
user.age = req.body.age;
res.json(user);
});
// DELETE /users/:id - Kullanıcıyı silme
app.delete('/users/:id', (req, res) => {
const userIndex = users.findIndex(u => u.id === parseInt(req.params.id));
if (userIndex === -1) return res.status(404).send('Kullanıcı bulunamadı');
const deletedUser = users.splice(userIndex, 1);
res.json(deletedUser);
});
3. API'yi Test Etmek
Artık API’miz tüm temel CRUD (Create, Read, Update, Delete) işlemleri için hazır. Ancak, bu API’yi test etmek için bir test aracı kullanmamız gerekecek. En popüler araçlardan biri [Postman](https://www.postman.com)‘dir.
Postman ile API'yi test etmek için:
1. Postman’i açın.
2. GET, POST, PUT, DELETE yöntemlerini seçerek, API uç noktalarına istek gönderin.
3. Sonuçları inceleyin ve doğruluğunu kontrol edin.
Sonuç
Node.js ve Express.js kullanarak basit ama işlevsel bir REST API oluşturmak oldukça kolay. Bu yazıda, REST API geliştirme sürecini adım adım inceledik. Öğrendiğiniz bu beceriler, modern web uygulamaları geliştirmek için sağlam bir temel oluşturmanıza yardımcı olacaktır.
Node.js ile REST API geliştirmek sadece eğlenceli değil, aynı zamanda oldukça verimli bir yöntemdir. Şimdi, öğrendiklerinizi uygulayarak daha karmaşık API'ler geliştirmeye başlayabilirsiniz.
İpuçları:
- API'yi gerçek dünya projelerinde kullanırken, hata yönetimi ve doğrulama gibi ek özellikler eklemeyi unutmayın.
- Güvenlik önlemleri almayı ihmal etmeyin; örneğin, JWT (JSON Web Token) ile kimlik doğrulama eklemek oldukça yaygın bir uygulamadır.