Node.js, Express ve Axios ile API Oluşturma: Kapsamlı Bir Kılavuz

Bu kapsamlı rehberde Node.js, Express ve Axios ile API oluşturmayı ve kullanmayı öğrenin. Hata yönetimi, özel başlıklar ve APIdog ile test etme ve dokümantasyon için en iyi uygulamaları keşfedin.

Efe Demir

Efe Demir

5 June 2025

Node.js, Express ve Axios ile API Oluşturma: Kapsamlı Bir Kılavuz

Selam geliştiriciler! Bugün, Node.js, Express ve Axios kullanarak API'ler oluşturma dünyasına derinlemesine dalıyoruz. İster deneyimli bir programcı olun, ister yeni başlıyor olun, bu gönderi size sağlam API'leri verimli bir şekilde oluşturma konusunda rehberlik edecektir. Ayrıca, API test ve dokümantasyon sürecinizi kolaylaştıracak harika bir Apidog aracını tanıtacağım.

💡
API geliştirmenizi bir sonraki seviyeye taşımaya hazır mısınız? Apidog'u ücretsiz indirin ve API'lerinizi zahmetsizce test etmeye ve belgelemeye bugün başlayın!
button

Giriş

API'ler (Uygulama Programlama Arayüzleri), modern web uygulamalarının bel kemiği haline geldi. Farklı yazılım sistemlerinin sorunsuz bir şekilde iletişim kurmasını ve veri paylaşmasını sağlar. İster bir web uygulaması, ister bir mobil uygulama, hatta bir masaüstü uygulaması geliştiriyor olun, API'ler esastır.

Neden Node.js, Express ve Axios?

Node.js, Express ve Axios, API'ler oluşturma ve tüketme söz konusu olduğunda dinamik bir üçlüdür. İşte nedeni:

Bu üç güçlü aracı birleştirerek, verimli, ölçeklenebilir ve bakımı kolay API'ler oluşturabilirsiniz.

Ortamınızı Kurma

Koda dalmadan önce, ortamımızı kuralım. Makinenizde Node.js ve npm (Node Package Manager) yüklü olması gerekir.

  1. Node.js ve npm'yi yükleyin: Node.js web sitesine gidin ve en son sürümü indirin. npm, Node.js ile birlikte gelir.
  2. Yeni bir proje başlatın: Terminalinizi açın ve şunu çalıştırın:
mkdir nodejs-express-axios-api
cd nodejs-express-axios-api
npm init -y

Bu, yeni bir dizin oluşturacak ve varsayılan bir package.json dosyasıyla yeni bir Node.js projesi başlatacaktır.

  1. Express ve Axios'u yükleyin:
npm install express axios

Node.js ve Express ile İlk API'nizi Oluşturma

Artık ortamımız kurulduğuna göre, basit bir API oluşturalım.

Express'i Kurma

İlk olarak, Express sunucumuzu kurmamız gerekiyor. server.js adında bir dosya oluşturun ve aşağıdaki kodu ekleyin:

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

// Middleware to parse JSON
app.use(express.json());

// Start the server
app.listen(PORT, () => {
    console.log(`Server is running on http://localhost:${PORT}`);
});

API Uç Noktalarını Tanımlama

Ardından, bazı API uç noktaları tanımlayalım. Bir kitap listesini yöneten basit bir CRUD uygulaması için uç noktalar oluşturacağız.

  1. Kitap Oluştur: Bu uç nokta, kullanıcıların listeye yeni bir kitap eklemesini sağlayacaktır.
  2. Kitapları Oku: Bu uç nokta, tüm kitapların listesini döndürecektir.
  3. Bir Kitabı Güncelle: Bu uç nokta, kullanıcıların mevcut bir kitabın ayrıntılarını güncellemesini sağlayacaktır.
  4. Bir Kitabı Sil: Bu uç nokta, kullanıcıların listeden bir kitabı silmesini sağlayacaktır.

server.js dosyasına aşağıdaki kodu ekleyin:

let books = [];

// Create a Book
app.post('/books', (req, res) => {
    const book = req.body;
    books.push(book);
    res.status(201).send('Book added successfully');
});

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

// Update a Book
app.put('/books/:id', (req, res) => {
    const bookId = req.params.id;
    const updatedBook = req.body;
    books = books.map(book => book.id === bookId ? updatedBook : book);
    res.send('Book updated successfully');
});

// Delete a Book
app.delete('/books/:id', (req, res) => {
    const bookId = req.params.id;
    books = books.filter(book => book.id !== bookId);
    res.send('Book deleted successfully');
});

API'nizi Çalıştırma

API'nizi çalıştırmak için, terminalinizde aşağıdaki komutu kullanmanız yeterlidir:

node server.js

Şu mesajı görmelisiniz: Server is running on http://localhost:3000.

Axios ile API'leri Tüketme

Artık API'miz çalışır durumda olduğuna göre, onu Axios kullanarak nasıl tüketeceğimizi öğrenelim.

Axios ile HTTP İstekleri Yapma

Axios, REST uç noktalarına eşzamansız HTTP istekleri göndermeyi ve CRUD işlemleri gerçekleştirmeyi kolaylaştırır. Axios kullanarak her bir işlemi (Oluştur, Oku, Güncelle, Sil) nasıl gerçekleştireceğimizi göstereceğiz.

İlk olarak, henüz yapmadıysanız projenize Axios'u yükleyin:

npm install axios

Örnek: Kitap API'mizle Etkileşim Kurmak için Axios Kullanma

client.js adında yeni bir dosya oluşturun ve aşağıdaki kodu ekleyin:

const axios = require('axios');
const API_URL = 'http://localhost:3000/books';

// Create a new book
const createBook = async (book) => {
    try {
        const response = await axios.post(API_URL, book);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Read all books
const getBooks = async () => {
    try {
        const response = await axios.get(API_URL);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Update a book
const updateBook = async (bookId, updatedBook) => {
    try {
        const response = await axios.put(`${API_URL}/${bookId}`, updatedBook);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Delete a book
const deleteBook = async (bookId) => {
    try {
        const response = await axios.delete(`${API_URL}/${bookId}`);
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

// Usage examples
const newBook = { id: '1', title: 'Node.js for Beginners', author: 'John Doe' };
createBook(newBook);
getBooks();
updateBook('1', { id: '1', title: 'Advanced Node.js', author: 'John Doe' });
deleteBook('1');

Açıklama

  1. createBook: Yeni bir kitap eklemek için bir POST isteği gönderir.
  2. getBooks: Tüm kitapları almak için bir GET isteği gönderir.
  3. updateBook: Mevcut bir kitabı güncellemek için bir PUT isteği gönderir.
  4. deleteBook: Bir kitabı kaldırmak için bir DELETE isteği gönderir.

Axios ve Hata Yönetiminin Gelişmiş Kullanımı

HTTP istekleriyle uğraşırken hata yönetimi çok önemlidir. Axios, hataları etkili bir şekilde yönetmenin çeşitli yollarını sağlar.

Hataları Yönetme

Hataları daha zarif bir şekilde yönetmek için client.js dosyasını değiştirin:

const axios = require('axios');
const API_URL = 'http://localhost:3000/books';

// Create a new book
const createBook = async (book) => {
    try {
        const response = await axios.post(API_URL, book);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Read all books
const getBooks = async () => {
    try {
        const response = await axios.get(API_URL);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Update a book
const updateBook = async (bookId, updatedBook) => {
    try {
        const response = await axios.put(`${API_URL}/${bookId}`, updatedBook);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Delete a book
const deleteBook = async (bookId) => {
    try {
        const response = await axios.delete(`${API_URL}/${bookId}`);
        console.log(response.data);
    } catch (error) {
        handleError(error);
    }
};

// Error handling function
const handleError = (error) => {
    if (error.response) {
        // The request was made and the server responded with a status code
        console.error('Error:', error.response.data);
        console.error('Status:', error.response.status);
        console.error('Headers:', error.response.headers);
    } else if (error.request) {
        // The request was made but no response was received
        console.error('Error: No response received', error.request);
    } else {
        // Something happened in setting up the request
        console.error('Error:', error.message);
    }
};

Özel Başlıklar ve Aracıları Ayarlama

Axios, özel başlıklar ayarlamanıza ve istekleri veya yanıtları yakalamanıza olanak tanır. Bu, kimlik doğrulama belirteçleri veya günlük kaydı eklemek için yararlı olabilir.

const axios = require('axios');
const API_URL = 'http://localhost:3000/books';

// Axios instance with custom headers
const axiosInstance = axios.create({
    baseURL: API_URL,
    headers: { 'Authorization': 'Bearer YOUR_TOKEN_HERE' }
});

// Request interceptor
axiosInstance.interceptors.request.use(config => {
    console.log('Request sent at:', new Date().toISOString());
    return config;
}, error => {
    return Promise.reject(error);
});

// Response interceptor
axiosInstance.interceptors.response.use(response => {
    console.log('Response received at:', new Date().toISOString());
    return response;
}, error => {
    return Promise.reject(error);
});

// Example usage with interceptors
const getBooks = async () => {
    try {
        const response = await axiosInstance.get('/');
        console.log(response.data);
    } catch (error) {
        console.error(error);
    }
};

getBooks

();

API'nizi APIdog ile Test Etme ve Belgeleme

API'lerinizin beklendiği gibi çalıştığından ve diğer geliştiriciler için kolayca kullanılabilir olduğundan emin olmak için API'lerinizi test etmek ve belgelemek çok önemlidir. İşte bu noktada APIdog devreye giriyor.

Apidog Nedir?

APIdog, API'lerinizi zahmetsizce test etmenize ve belgelemenize yardımcı olan güçlü bir araçtır. APIdog ile kapsamlı API dokümantasyonu oluşturabilir, otomatik testler gerçekleştirebilir ve API'lerinizi ekibinizle paylaşabilirsiniz.

Apidog ile API Test Etme

[post] isteği yapmak için Apidog'u nasıl kullanacağınıza dair kısa bir eğitime göz atalım.

button

Adım 1: Apidog'u açın ve yeni bir istek oluşturun.

Apidog

Adım 2: API'yi Girin

Apidog

Adım 3: Parametreleri Girin

Apidog

Apidog'u kullanmak, POST istekleriyle çalışırken size zaman ve çaba kazandırabilir.

Apidog ile API'mizi Belgeleme

API dokümantasyonunu kolayca oluşturmak için, bu adım adım kılavuzları izleyin:

Adım 1: Apidog'a kaydolun

API dokümantasyonu için Apidog'u kullanmaya başlamak için, bir hesap oluşturun ve oturum açın. Oturum açtıktan sonra, varsayılan projeyi seçebileceğiniz veya yeni bir proje oluşturabileceğiniz Proje Merkezi'ne yönlendirileceksiniz.

Apidog'a giriş yaptıktan sonra yönlendirileceğiniz proje merkezi budur.

Adım 2: Yeni bir API Oluşturun

API projeniz birden fazla uç noktadan oluşacaktır. Projeniz içinde "+" düğmesini veya "Uç Nokta Ekle"yi tıklayarak bir uç nokta ekleyin.

Apidog'da yeni bir uç nokta oluşturun

Adım 3: API Bilgilerini Doldurun

Uç nokta URL'si, açıklama ve istek/yanıt ayrıntıları gibi ayrıntıları sağlayın. Uç noktaları belgelemek şunları içerir:

Adım 4: API Dokümantasyonunu Kaydedin

Gerekli bilgileri girdikten sonra, API dokümantasyonunu kaydetmek için "Kaydet"e tıklayın.

API'yi test etmek için "Çalıştır"a tıklama.
"Çalıştır"a tıklayarak API'yi test edin

Adım 5: API'yi Doğrudan Çevrimiçi API Belgesinden Test Edin

API dokümantasyonunu kaydettikten sonra, API'nizi "Çalıştır"ma seçeneği olacaktır. "Çalıştır" düğmesine tıklamak, bir API isteği gönderecek ve uç noktaları test etmeniz için yanıtı getirecektir. Bu süreçte, ele alınması gereken hataları ve sorunları belirleyebilirsiniz.

API isteğini göndermek ve test raporu almak için "Gönder"e tıklayın

API dokümantasyonu iş ihtiyaçlarını karşıladığında, tek bir bağlantı aracılığıyla başkalarıyla paylaşabilirsiniz.

Apidog Kullanarak Çevrimiçi API Dokümantasyonu Oluşturmanın Faydaları

Apidog tarafından oluşturulan dokümantasyonda doğrudan API isteği gönderebilirsiniz
Apidog tarafından oluşturulan çevrimiçi dokümanda istek ve yanıt kodu oluşturabilirsiniz

Sonuç

Tebrikler! Node.js, Express ve Axios kullanarak sağlam bir API oluşturdunuz. Ayrıca, Axios ile API'leri nasıl tüketeceğinizi, hataları etkili bir şekilde nasıl yöneteceğinizi ve API testinizi ve dokümantasyonunuzu APIdog ile nasıl geliştireceğinizi öğrendiniz.

API'ler, modern web geliştirmenin bel kemiğidir ve bu araçlarda ustalaşmak, sizi güçlü ve ölçeklenebilir uygulamalar oluşturma yoluna sokacaktır. API geliştirme ve test sürecinizi kolaylaştırmak için APIdog'u ücretsiz indirmeyi unutmayın.

button

Explore more

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Cursor ile Deepseek R1'i Yerel Olarak Nasıl Kullanılır

Yerel DeepSeek R1'i Cursor IDE ile kurun ve yapılandırın. Özel, uygun maliyetli AI kodlama yardımı için.

4 June 2025

Android'de Gemma 3n Nasıl Çalıştırılır?

Android'de Gemma 3n Nasıl Çalıştırılır?

Google AI Edge Gallery'den Gemma 3n'i Android'e kurup çalıştırmayı öğrenin.

3 June 2025

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

GitHub Eylemleri ile Claude Kodunu Nasıl Kullanılır

Claude Code'u GitHub Actions ile entegre edin: Kod incelemeleri, hata düzeltmeleri ve özellik uygulamaları. Kurulum, iş akışları ve geliştiriciler için ipuçları.

29 May 2025

API Tasarım-Öncelikli Yaklaşımı Apidog'da Uygulayın

API'leri oluşturmanın ve kullanmanın daha kolay yolunu keşfedin