Node.js REST API Oluşturma
JS – JQuery & Ajax

Node.js REST API Oluşturma

Gereksinimler
Node.js ve npm: Bilgisayarınızda kurulu olmalı.
Express.js: API oluşturmak için kullanılacak.
body-parser: İstek gövdesini ayrıştırmak için kullanılacak.
Nodemon (isteğe bağlı): Geliştirme sırasında otomatik yeniden başlatma için.


1. Proje Oluşturma ve Bağımlılıkları Yükleme

mkdir blog-api
cd blog-api
npm init -y npm install express body-parser
npm install --save-dev nodemon


2. server.js Dosyasını Oluşturma

const express = require("express");
const bodyParser = require("body-parser");
 
const app = express();
const PORT = 3000;
 
// Bellek içinde basit bir veri kaynağı (örnek veri için)
let articles = [
  { id: 1, title: "Node.js Nedir?", content: "Node.js hakkında detaylı bilgi." },
  { id: 2, title: "REST API Nedir?", content: "REST API tasarımı ve kullanımı." },
];
 
// Middleware
app.use(bodyParser.json());
 
// 1. Makaleleri Listele
app.get("/api/articles", (req, res) => {
  res.json(articles);
});
 
// 2. Makale Ekle
app.post("/api/articles", (req, res) => {
  const { title, content } = req.body;
  const newArticle = {
    id: articles.length + 1,
    title,
    content,
  };
  articles.push(newArticle);
  res.status(201).json(newArticle);
});
 
// 3. Belirli Bir Makaleyi Getir
app.get("/api/articles/:id", (req, res) => {
  const article = articles.find((a) => a.id === parseInt(req.params.id));
  if (!article) return res.status(404).json({ error: "Makale bulunamadı!" });
  res.json(article);
});
 
// 4. Makale Güncelle
app.put("/api/articles/:id", (req, res) => {
  const article = articles.find((a) => a.id === parseInt(req.params.id));
  if (!article) return res.status(404).json({ error: "Makale bulunamadı!" });
 
  const { title, content } = req.body;
  article.title = title || article.title;
  article.content = content || article.content;
 
  res.json(article);
});
 
// 5. Makale Sil
app.delete("/api/articles/:id", (req, res) => {
  const articleIndex = articles.findIndex((a) => a.id === parseInt(req.params.id));
  if (articleIndex === -1) return res.status(404).json({ error: "Makale bulunamadı!" });
 
  articles.splice(articleIndex, 1);
  res.status(204).send();
});
 
// Sunucu Başlatma
app.listen(PORT, () => {
  console.log(`Sunucu http://localhost:${PORT} adresinde çalışıyor.`);
});
 

3. Çalıştırma

npx nodemon server.js

Eğer kurulu değilse

node server.js

API Testi

Yöntem URL Açıklama Örnek İstek Gövdesi
GET /api/articles Tüm makaleleri getir -
POST /api/articles Yeni makale ekle { "title": "Başlık", "content": "İçerik" }
GET /api/articles/:id Belirli bir makaleyi getir -
PUT /api/articles/:id Mevcut bir makaleyi güncelle { "title": "Yeni Başlık", "content": "Yeni İçerik" }
DELETE /api/articles/:id Belirli bir makaleyi sil -

Bu kod blogunuz için güzel bir başlangıç olacaktır. REST API´yi daha güvenli veya gelişmiş hale getirmek için doğrulama, hata yönetimi veya veritabanı bağlantısı ekleyebilirsiniz. Eğer sorularınız olursa, seve seve yardımcı olurum! 😊

WHATSAPP DESTEK