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
2. server.js Dosyasını Oluşturma1. 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
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! 😊