Node.js ile REST API Geliştirme

image

08 Jul 2024

Bu blog yazısında, Node.js kullanarak REST API geliştirme sürecini adım adım öğreneceksiniz. Kurulumdan temel CRUD işlemlerine kadar tüm detayları bu kılavuzda bulabilirsiniz.

Giriş

Node.js, sunucu tarafı uygulama geliştirmek için popüler bir platformdur. JavaScript'in gücünü sunucu tarafında kullanmanıza olanak tanır ve özellikle API geliştirme için oldukça uygundur. Bu yazıda, Node.js ile REST API nasıl geliştirilir adım adım inceleyeceğiz. Temel kavramlardan başlayıp, bir API'nin tüm aşamalarını uygulamalı olarak göreceğiz.

1. Node.js ve Express Kurulumu

REST API geliştirmek için Node.js ve Express.js kullanacağız. Express.js, Node.js için minimal ve esnek bir web uygulama çatısıdır. İlk olarak, Node.js ve npm'in (Node Package Manager) bilgisayarınızda kurulu olduğundan emin olun.

Node.js ve npm Kurulumu

Node.js'i indirip kurmak için resmi Node.js web sitesini ziyaret edin ve işletim sisteminize uygun versiyonu indirin. Kurulumdan sonra terminal veya komut satırında aşağıdaki komutları kullanarak versiyonları kontrol edin:

node -v
npm -v

Proje Oluşturma ve Express Kurulumu

Yeni bir proje dizini oluşturun ve bu dizinde terminali açın:

mkdir rest-api
cd rest-api

npm ile yeni bir proje başlatın:

npm init -y

Express ve gerekli diğer paketleri yükleyin:

npm install express body-parser cors

2. Temel Sunucu Oluşturma

Şimdi, basit bir Express sunucusu oluşturalım. Proje dizininde index.js adında bir dosya oluşturun ve şu kodları ekleyin:

const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');

const app = express();
const PORT = 3000;

app.use(bodyParser.json());
app.use(cors());

app.get('/', (req, res) => {
  res.send('Merhaba, REST API!');
});

app.listen(PORT, () => {
  console.log(`Sunucu ${PORT} portunda çalışıyor.`);
});

Terminalde node index.js komutunu çalıştırarak sunucuyu başlatın ve tarayıcınızda http://localhost:3000 adresine giderek "Merhaba, REST API!" mesajını görün.

3. CRUD Operasyonları

Bir REST API'nin temel işlevleri CRUD (Create, Read, Update, Delete) operasyonlarıdır. Şimdi, bu operasyonları bir kitap kaydı örneği üzerinden gerçekleştireceğiz.

Veri Yapısı

Öncelikle, kitap kayıtlarımızı saklamak için basit bir veri yapısı tanımlayalım:

let books = [];
let id = 1;

Create (Oluşturma)

Yeni bir kitap eklemek için POST isteği oluşturun:

app.post('/books', (req, res) => {
  const { title, author } = req.body;
  if (title && author) {
    const newBook = { id: id++, title, author };
    books.push(newBook);
    res.status(201).json(newBook);
  } else {
    res.status(400).json({ message: 'Kitap adı ve yazarı gerekli.' });
  }
});

Read (Okuma)

Tüm kitapları veya belirli bir kitabı okumak için GET istekleri ekleyin:

app.get('/books', (req, res) => {
  res.json(books);
});

app.get('/books/:id', (req, res) => {
  const book = books.find(b => b.id === parseInt(req.params.id));
  if (book) {
    res.json(book);
  } else {
    res.status(404).json({ message: 'Kitap bulunamadı.' });
  }
});

Update (Güncelleme)

Mevcut bir kitabı güncellemek için PUT isteği ekleyin:

app.put('/books/:id', (req, res) => {
  const book = books.find(b => b.id === parseInt(req.params.id));
  if (book) {
    const { title, author } = req.body;
    if (title) book.title = title;
    if (author) book.author = author;
    res.json(book);
  } else {
    res.status(404).json({ message: 'Kitap bulunamadı.' });
  }
});

Delete (Silme)

Bir kitabı silmek için DELETE isteği ekleyin:

app.delete('/books/:id', (req, res) => {
  books = books.filter(b => b.id !== parseInt(req.params.id));
  res.status(204).send();
});

4. Sonuç

Bu kılavuzda, Node.js ve Express.js kullanarak basit bir REST API geliştirdik. CRUD operasyonlarını nasıl gerçekleştireceğinizi öğrendiniz ve API'nizin temellerini attınız. Bu bilgilerle, daha gelişmiş API'ler geliştirebilir ve projelerinizi genişletebilirsiniz. Unutmayın, API güvenliği ve hata yönetimi gibi konular da önemlidir ve bunları projelerinize eklemeyi göz ardı etmeyin.