Node.js ve Express ile REST API Nasıl Oluşturulur

REST API'ler, yazılımların internette iletişimini sağlar. Node.js ve Express, REST API oluşturmak için güçlü bir ikilidir.

Efe Demir

Efe Demir

5 June 2025

Node.js ve Express ile REST API Nasıl Oluşturulur

Günümüzün birbirine bağlı dünyasında, sağlam ve ölçeklenebilir API'ler oluşturmak, çeşitli yazılım bileşenleri arasında kesintisiz iletişimi sağlamak için bir zorunluluk haline geldi. REST API'leri, web veri alışverişini kolaylaştırmak için fiili standart olarak ortaya çıktı ve HTTP protokolü'nün gücünden yararlanıyor.

Chrome'un V8 motoru üzerine inşa edilmiş bir JavaScript çalışma zamanı olan Node.js, verimli, hafif API'ler oluşturmak için ilgi gördü. Olay güdümlü, engellemeyen G/Ç modeli, eşzamanlı bağlantıları yönetmede mükemmeldir ve onu ölçeklenebilir, gerçek zamanlı API'ler için ideal hale getirir.

Express.js gibi çerçeveler, geliştirme sürecini basitleştirerek geliştiricilerin çeşitli kullanım durumları için hızlı bir şekilde sağlam API'ler oluşturmasına olanak tanır. RESTful API'ler oluşturmak isteyen web geliştiricileri için Node.js ve Express, süreci kolaylaştırmak için güçlü bir kombinasyon sunar.

💡
Apidog, farklı kullanım senaryoları için çok yönlü HTTP yöntemleri sağlayan, hepsi bir arada bir API aracıdır. API testi, dokümantasyon ve işbirliği yetenekleri dahil olmak üzere kapsamlı bir özellik paketi sunarak, API'ler geliştiren ve yöneten ekipler için güçlü bir çözüm haline getirir. Şimdi deneyin!
button

REST API Nedir?

REST API, istemci ve sunucu uygulamaları arasında veri alışverişini kolaylaştırmak için HTTP protokolünden yararlanan bir mimari stildir. Birleşik bir arayüz, durumsuz iletişim ve kaynaklar üzerinde işlemler gerçekleştirmek için standart HTTP yöntemlerinin (GET, POST, PUT, DELETE) kullanımı dahil olmak üzere bir dizi kısıtlama ve ilkeye dayanır.

REST API'nin Temel Kavramları

1. Kaynaklar

Kaynaklar, REST'teki temel birimlerdir. Her kaynak, bir URL (Uniform Resource Locator) ile tanımlanır. Örneğin, kitapları yönetmek için bir REST API'sinde, bir kitap /books/1 adresinde erişilebilen bir kaynak olabilir.

2. HTTP Yöntemleri

REST API'leri, kaynaklarla etkileşim kurmak için standart HTTP yöntemlerini kullanır:

3. Durumsuzluk

Bir istemciden bir sunucuya yapılan her istek, sunucunun o isteği yerine getirmesi için gereken tüm bilgileri içermelidir. Sunucu, istekler arasında istemci oturumu hakkında herhangi bir durum saklamaz. Bu, REST API'lerini ölçeklenebilir ve bakımı kolay hale getirir.

4. Temsiller

Kaynaklar, JSON (JavaScript Object Notation), XML (eXtensible Markup Language) veya düz metin gibi farklı biçimlerde temsil edilebilir. JSON, hafif yapısı ve kullanım kolaylığı nedeniyle en yaygın olarak kullanılan biçimdir.

5. Birleşik Arayüz

REST API'leri, kaynaklarla tutarlı etkileşimlere izin veren birleşik bir arayüze sahip olacak şekilde tasarlanmıştır. Bu şunları içerir:

6. İstemci-Sunucu Mimarisi

REST, istemci ve sunucuyu ayırır ve bunların birbirinden bağımsız olarak gelişmesine izin verir. İstemci, kullanıcı arayüzünü ve kullanıcı deneyimini yönetirken, sunucu veri depolamayı, işlemeyi ve güvenliği yönetir.

7. Önbelleğe Alma

Bir REST API'sinden gelen yanıtlar, açıkça önbelleğe alınabilir veya önbelleğe alınamaz olarak işaretlenebilir. Bu, istemcilerin performansı artırmak ve tekrarlanan istek ihtiyacını azaltmak için yanıtları önbelleğe almasına olanak tanır.

Gerçek Dünya REST API Örneği

İşte bir kütüphane için Rest API uç noktalarına bir örnek:

1. Tüm kitapların bir listesini alın

GET /books
[
    {
        "id": 1,
        "title": "1984",
        "author": "George Orwell",
        "published_year": 1949
    },
    {
        "id": 2,
        "title": "To Kill a Mockingbird",
        "author": "Harper Lee",
        "published_year": 1960
    }
]

2. Belirli bir kitabın ayrıntılarını alın

GET /books/1
{
    "id": 1,
    "title": "1984",
    "author": "George Orwell",
    "published_year": 1949
}

3. Yeni bir kitap ekleyin

POST /books
Content-Type: application/json

{
    "title": "Brave New World",
    "author": "Aldous Huxley",
    "published_year": 1932
}
{
    "id": 3,
    "title": "Brave New World",
    "author": "Aldous Huxley",
    "published_year": 1932
}

4. Mevcut bir kitabı güncelleyin

PUT /books/1
Content-Type: application/json

{
    "title": "1984",
    "author": "George Orwell",
    "published_year": 1948
}
{
    "id": 1,
    "title": "1984",
    "author": "George Orwell",
    "published_year": 1948
}

Node.js Nedir?

Sunucu tarafı bir JavaScript çalışma zamanı olan Node.js ve popüler bir Node.js çerçevesi olan Express, RESTful API'ler oluşturmak için güçlü bir kombinasyon oluşturur. Bu blog yazısında, Node.js ve Express kullanarak adım adım, pratik örneklerle bir REST API oluşturma sürecini inceleyeceğiz.

Neden REST API Oluşturmak İçin Node.js ve Express Kullanmalısınız?

API'ler oluşturmak için Node.js ve Express kullanmak, geliştiriciler arasında popüler bir seçim olmasını sağlayan çeşitli avantajlar sunar. İşte temel faydalarından bazıları:

1. Yüksek Performans ve Ölçeklenebilirlik

Node.js, JavaScript'i doğrudan makine koduna derleyen Google'dan V8 JavaScript motoru üzerine kurulmuştur. Bu, yüksek performans ve hızla sonuçlanır. Node.js ayrıca, çok sayıda eşzamanlı bağlantıyı yönetmek için oldukça verimli ve ölçeklenebilir hale getiren, olay güdümlü, engellemeyen bir G/Ç modeliyle tasarlanmıştır.

2. Her Yerde JavaScript

Node.js, geliştiricilerin hem istemci tarafında hem de sunucu tarafında geliştirme için JavaScript kullanmasına olanak tanır. Bu tutarlılık, öğrenme eğrisini azaltır ve geliştirme sürecini basitleştirir, çünkü geliştiriciler tüm uygulama yığını boyunca aynı dili ve veri yapılarını kullanabilirler.

3. Hızlı Geliştirme Döngüsü

Node.js, Express ile birlikte, uygulamaların hızlı bir şekilde geliştirilmesini sağlar. Express, web ve mobil uygulamalar için sağlam bir özellik kümesi sağlayan minimal ve esnek bir çerçevedir. Yönlendirmeyi, ara yazılım yönetimini ve görünüm oluşturmayı basitleştirerek, geliştiricilerin API'leri hızlı ve verimli bir şekilde oluşturmasına olanak tanır.

4. Kapsamlı Ekosistem

Node.js, npm (Node Package Manager) aracılığıyla kullanılabilen zengin bir kitaplık ve modül ekosistemine sahiptir. Önceden oluşturulmuş bu geniş modül koleksiyonu, geliştiricilerin ortak görevler için mevcut kodu yeniden kullanmasına izin vererek geliştirmeyi önemli ölçüde hızlandırır.

5. JSON ve RESTful API'ler

Node.js ve Express, JSON tabanlı RESTful API'ler oluşturmak için çok uygundur. JavaScript'in JSON için yerel desteği, sunucu ile istemci arasındaki veri alışverişini basitleştirir. Express'in hafif yapısı, RESTful uç noktaları verimli bir şekilde oluşturmak için idealdir.

6. Gerçek Zamanlı Yetenekler

Node.js, sohbet uygulamaları veya canlı güncelleme özellikleri gibi gerçek zamanlı uygulamalar oluşturmada mükemmeldir. Engellemeyen mimarisi, gerçek zamanlı veri akışını ve etkileşimleri sorunsuz bir şekilde yönetmeye olanak tanır.

7. Topluluk Desteği

Node.js büyük ve aktif bir topluluğa sahiptir. Bu canlı topluluk, geliştiricilerin en son en iyi uygulamalara, yaygın sorunlara yönelik çözümlere ve devam eden iyileştirmelere erişmesini sağlayarak, çok sayıda açık kaynaklı kitaplığa, araca ve çerçeveye katkıda bulunur.

8. Mikro hizmetler Mimarisi

Node.js, özellikle mikro hizmetler mimarisi için çok uygundur. Hafif yapısı, geliştiricilerin ayrı ayrı dağıtılabilen ve ölçeklendirilebilen küçük, bağımsız hizmetler oluşturmasına olanak tanır. Bu modülerlik, uygulamaların daha iyi bakımı ve ölçeklenebilirliğine yol açar.

9. Çapraz Platform Geliştirme

Node.js, çapraz platformdur, yani Windows, macOS ve Linux dahil olmak üzere çeşitli işletim sistemlerinde çalışabilir. Bu esneklik, farklı ortamlarda çalışması gereken uygulamalar geliştirmek için faydalıdır.

10. Öğrenme ve Kullanım Kolaylığı

JavaScript'e aşina olan geliştiriciler için, Node.js ve Express'i öğrenmek nispeten basittir. Express'in basitliği ve minimalizmi, dik bir öğrenme eğrisi olmadan API'ler oluşturmaya başlamayı kolaylaştırır.

Önkoşullar

REST API'mizi oluşturmaya başlamadan önce, aşağıdaki araçlara ve bilgiye sahip olduğunuzdan emin olun:

  1. Node.js ve npm: Resmi web sitesinden npm (Node Package Manager) dahil olmak üzere Node.js'i yükleyin.
  2. Metin Düzenleyici veya IDE: Tercih ettiğiniz kod düzenleyiciyi seçin. Bazı popüler seçenekler Visual Studio Code, Sublime Text veya WebStorm'dur.
  3. Temel JavaScript Bilgisi: Node.js geliştirme için JavaScript'i anlamak çok önemlidir.

Node.js Kullanarak REST API Oluşturmak İçin Adım Adım Kılavuz

Adım 1: Projenizi Başlatın

Projeniz için yeni bir dizin oluşturarak ve npm ile başlatarak başlayalım.

mkdir my-rest-api
cd my-rest-api
npm init -y

Bu, projeniz için varsayılan ayarlara sahip bir package.json dosyası oluşturacaktır.

Adım 2: Bağımlılıkları Yükleyin

REST API'mizi çalışır duruma getirmek için birkaç pakete ihtiyacımız var:

Bu paketleri npm kullanarak yükleyin:

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

app.use(bodyParser.json());

const port = process.env.PORT || 3000;
app.listen(port, () => {
  console.log(`Server is running on port ${port}`);
});

Adım 3: Bir Express Uygulaması Oluşturun

Şimdi, bir Express uygulaması oluşturalım ve temel bir sunucu ayarlayalım.

javascriptCopy codeconst express = require('express');const bodyParser = require('body-parser');const app = express();use(bodyParser.json());const port = process.env.PORT || 3000;listen(port, () => {console.log(`Server is running on port ${port}`);

Burada, temel bir Express uygulaması oluşturduk, JSON verilerini ayrıştırmak için body-parser ara yazılımını ekledik ve 3000 numaralı portta bir sunucu başlattık.

Adım 4: Rotaları Tanımlayın

Bir REST API'sinde, rotalar farklı HTTP yöntemleri (GET, POST, PUT, DELETE) için uç noktaları tanımlar. Bir GET isteğiyle basit bir örnek oluşturalım.

app.get('/api/hello', (req, res) => {
  res.json({ message: 'Hello, World!' });
});

Bu kod, bir GET isteği aracılığıyla erişildiğinde bir JSON mesajıyla yanıt veren /api/hello için bir rota tanımlar.

Adım 5: API'nizi Çalıştırın

API'nizi Node.js kullanarak çalıştırabilirsiniz, ancak geliştirme sırasında, kod değişikliklerinde sunucunuzu otomatik olarak yeniden başlatacak olan Nodemon'u kullanmak kullanışlıdır.

npm start

Şimdi, http://localhost:3000/api/hello adresine erişirseniz, "Merhaba, Dünya!" mesajını görmelisiniz.

Adım 6: Daha Fazla Rota Ekleyin

Kullanışlı bir API oluşturmak için, daha fazla rota tanımlamanız ve kaynaklarınız için CRUD (Oluştur, Oku, Güncelle, Sil) işlemlerini uygulamanız gerekir. İşte basit bir "Yapılacaklar Listesi" API'sine bir örnek.

let todos = [];

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

app.post('/api/todos', (req, res) => {
  const newTodo = req.body;
  todos.push(newTodo);
  res.status(201).json(newTodo);
});

// Implement PUT and DELETE as an exercise

Bu örnekte, yapılacak öğeleri listelemek ve oluşturmak için rotalar ekledik. Görevleri güncellemek ve silmek için PUT ve DELETE uygulayarak bunu genişletebilirsiniz.

Adım 7: API'nizi Test Etme

API'nizin beklendiği gibi çalıştığından emin olmak için test etmek çok önemlidir. Apidog veya Insomnia gibi araçlar, istek göndermenize ve yanıtları doğrulamanıza yardımcı olabilir.

Adım 8: API'nizi Dağıtın

API'nizi dünyayla paylaşmaya hazır olduğunuzda, Heroku, AWS veya Azure gibi platformlarda dağıtabilirsiniz.

Apidog ile REST API Oluşturmanın Alternatif Bir Yolu

Apidog , REST API geliştirmeyi basitleştirerek, test etme, dokümantasyon, güvenlik ve performansı kolaylaştırır. Bu makale, Apidog'un nasıl kullanılacağını ve temel özelliklerini göstermektedir.

Adım 1: Apidog'u İndirin ve Yükleyin

İlk olarak, Apidog'da bir hesap oluşturmanız gerekir. Bu, Apidog web sitesine gidip "Kaydol" düğmesini tıklayarak yapılabilir. Kayıttan sonra, Apidog ana sayfasına yönlendirileceksiniz.

button

Adım 2: Bir API Oluşturun

Proje içinde, yeni bir API oluşturabilirsiniz. Dokümantasyon, REST API'sinin kaynaklarını, işlemlerini ve parametrelerini açıklayan bir taslaktır. Yeni bir API oluşturmak için, proje sayfasındaki "+" düğmesini tıklayın.

Create a REST API using Apidog

Adım 3: REST API'lerinin Parametrelerini Ayarlayın

HTTP yöntemlerini, istek/yanıt modellerini, sorgu parametrelerini, başlıkları vb. doldurun.

Fill in basic information for creating a REST API at Apidog

Adım 4: REST API'yi Test Etme

Tüm API'ler geliştirildikten sonra, API'lerinizi test etmek için "Gönder" düğmesini tıklayabilirsiniz.

Test REST API at Apidog

Sonuç

Node.js ve Express ile bir REST API oluşturmak, herhangi bir web geliştiricisi için güçlü bir beceridir. Bu blog yazısında, proje kurulumundan rotaları tanımlamaya kadar temel adımları ele aldık ve hatta test etme ve dağıtıma da değindik. Unutmayın, pratik yapmak çok önemlidir, bu nedenle kendi API'lerinizi oluşturmaktan, farklı işlevlerle denemeler yapmaktan ve Node.js ve Express konusunda daha yetkin hale geldikçe daha gelişmiş özellikleri keşfetmekten çekinmeyin.

Bu temel ile, RESTful API'lerle sağlam ve ölçeklenebilir web uygulamaları geliştirme yolunda iyi olacaksınız. İyi kodlamalar!

Node.js REST API Hakkında Sıkça Sorulan Sorular

1. Node.js REST API için en iyi çerçeve hangisidir?

Feathers, Nest, LoopBack ve Moleculer mükemmel çerçeveler olsa da, işte Express'in en iyi seçenek olmasının birkaç nedeni:

Özellik Zenginliği: Express, Model-View-Controller (MVC) mimarisi, sağlam yönlendirme yetenekleri ve yerleşik ara yazılım gibi özellikler sunarak dinamik, ölçeklenebilir uygulamalar oluşturmanızı sağlar.

Güçlü Topluluk Desteği: Daha hızlı ve daha verimli çalışmanıza yardımcı olabilecek büyük bir topluluğa sahiptir.

Kullanıcı Dostu: Express'in kurulumu, öğrenmesi ve kullanımı kolaydır, bu da onu yeni başlayanlar için ideal bir seçim haline getirir.

2. REST API için Go mu yoksa node mu kullanmalıyım?

Bir REST API oluşturmak için Go (Golang) ve Node.js arasında seçim yapmak, performans gereksinimleri, geliştirme hızı, eşzamanlılık ihtiyaçları ve ekibinizin uzmanlığı dahil olmak üzere çeşitli faktörlere bağlıdır.

Go Ne Zaman Kullanılır:

Node.js Ne Zaman Kullanılır:

3. REST API uygulamak için en iyi dil hangisidir?

Bir REST API uygulamak için en iyi dil, belirli proje gereksinimlerinize, geliştirme ekibinizin uzmanlığına ve kullanımda olan mevcut teknoloji yığınına bağlı olacaktır.

4. Node.JS REST API kullanıyor mu?

Node.js'in kendisi, sunucu tarafında JavaScript'i yürütmek için bir çalışma zamanı ortamıdır ve yerleşik REST işlevselliğine sahip olmak anlamında REST API'lerini "kullanmaz". Ancak, Node.js, asenkron, olay güdümlü mimarisi ve Express.js gibi çerçevelerin kullanılabilirliği sayesinde REST API'lerini oluşturmak için yaygın olarak kullanılır ve bu da RESTful web hizmetleri oluşturmayı ve yönetmeyi kolaylaştırır.

5. İnsanlar hala Express kullanıyor mu?

Evet, insanlar REST API'ler ve web uygulamaları geliştirmek için hala Express.js'i yaygın olarak kullanıyor.

6. Next.js Express'in yerini alıyor mu?

Next.js ve Express, web geliştirme ekosisteminde farklı amaçlara hizmet eden iki farklı araçtır ve biri diğerinin yerini mutlaka almaz.

7. Node.JS APl geliştirme için iyi mi?

Evet, Node.js, özellikle RESTful API'ler oluşturmak için API geliştirmesi için çok uygundur.

8. Node.JS API için en iyi veritabanı hangisidir?

Node.js API'niz için "en iyi" veritabanı, belirli proje gereksinimlerinize ve tercihlerinize büyük ölçüde bağlıdır. MongoDB, esnekliği ve Node.js ile kolay entegrasyonu nedeniyle popülerdir, PostgreSQL ve MySQL ise güçlü tutarlılıkları ve SQL yetenekleri nedeniyle tercih edilir. SQLite, gömülü uygulamalar veya daha basit kullanım durumları için idealdir. Uygulamanızın ihtiyaçlarını değerlendirmek ve bu faktörleri göz önünde bulundurmak, Node.js API'niz için en uygun veritabanını seçmenize yardımcı olacaktır.

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