NodeJS Express GET İstekleri için Temel Kılavuz

NodeJS Express, web uygulamaları için popüler bir çerçevedir. NodeJS Express ile GET istekleri oluşturmayı öğrenin!

Efe Demir

Efe Demir

5 June 2025

NodeJS Express GET İstekleri için Temel Kılavuz

Günümüzde web uygulamaları, modern web etkileşimlerinin temel işlevini oluşturdukları için, istemcileri ve sunucuları arasında veri alışverişi gerektirir. Ancak, geliştiriciler artık bu gereksinimi karşılamak için NodeJS kütüphanesi olan ExpressJS'yi kullanabilirler.

💡
NodeJS için oluşturulan ExpressJS kütüphanesi JavaScript ile yazılmıştır. Neyse ki, günümüzdeki API araçları modern çözümlerle donatılmıştır.

Size Apidog'u tanıtıyoruz - çok sayıda programlama dilinde kod oluşturma yeteneklerine sahip, güçlü, basit ama sezgisel bir API geliştirme platformu.

Apidog'un JavaScript dışında geliştiricilere hangi dillerde destek sağlayabileceğini öğrenmek için aşağıdaki butona tıklayın!
button

NodeJS Express GET isteklerine dalmadan önce, "NodeJS Express GET İstekleri" ifadesinin etrafında dönen kavramları anlamalıyız.

NodeJS Nedir?

NodeJS, Chrome'un V8 JavaScript'i üzerine kurulu bir çalışma zamanı ortamı sunarak JavaScript gelişimini temelden değiştiren, açık kaynaklı, platformlar arası bir çalışma zamanı ortamıdır. NodeJS, Javascript kodunun tarayıcılar dışında yürütülmesini sağlar ve sunucu tarafı geliştirme için birçok olasılık sunar.

NodeJS Temel Özellikleri

JavaScript

NodeJS'den önce, geliştiriciler ön uç (JavaScript) ve arka uç (Python ve Java gibi diller) geliştirme için farklı dilleri kullanıyorlardı. NodeJS, Chrome'un V8 JavaScript motorunu kullanarak JavaScript'in sunucu tarafında çalışmasına izin vererek bu engeli ortadan kaldırır. Bu, hem ön uç hem de arka uç geliştirme için tek bir dil anlamına gelir ve potansiyel olarak geliştirme süresini azaltır ve daha birleşik bir kod tabanını teşvik eder.

Olay Odaklı Mimari

NodeJS, eşzamansız, engellemeyen G/Ç modeliyle parlar. Bu, birden fazla eşzamanlı bağlantıyı verimli bir şekilde yönetmek için bir olay döngüsü kullandığı anlamına gelir. Geleneksel bir web sunucusunun, başka bir isteği işlemeden önce bir veritabanı sorgusunun bitmesini beklediğini hayal edin. Ancak NodeJS, veritabanı yanıtını beklerken diğer istekleri işleyebilir. Bu olay odaklı yaklaşım, NodeJS'yi sohbet uygulamaları veya gerçek zamanlı işbirliği araçları gibi yüksek hacimli eşzamanlı bağlantılarla ilgilenen uygulamalar için ideal hale getirir.

Yüksek Ölçeklenebilir

NodeJS'nin kendisi tek bir iş parçacığında çalışsa da, olay döngüsü ve eşzamansız programlama stili sayesinde dikkate değer bir ölçeklenebilirlik elde eder. Olay döngüsü, gelen istekleri ve görevleri verimli bir şekilde yöneterek sunucunun duyarlı kalmasını sağlar. Yüksek talep gören uygulamalar için NodeJS, trafiğin büyük hacimlerini işleme yeteneğini daha da artırarak birden fazla işlemde kümelenebilir.

Hızlı Performans

NodeJS, özellikle G/Ç'ye bağlı görevler için olağanüstü performansı ile bilinir. Bunun nedeni, engellemeyen G/Ç modeli ve V8 JavaScript motorunun verimliliğidir. NodeJS, hızdan ödün vermeden çok sayıda eşzamanlı bağlantıyı yönetmede mükemmeldir, bu da onu gerçek zamanlı uygulamalar ve veri akışı için uygun hale getirir.

Zengin Ekosistem ve NPM

NodeJS topluluğu geniş ve aktiftir, Node Package Manager (NPM) aracılığıyla sunulan önceden oluşturulmuş modüllerin gelişen bir ekosistemini teşvik eder. NPM, uygulamalar oluştururken geliştiricilere zaman ve çaba kazandıran, çeşitli görevler için işlevsellik sağlayan büyük bir açık kaynak paket deposuna sahiptir. Veritabanlarını, dosya sistemlerini, kimlik doğrulamasını veya web kazımayı yönetmeniz mi gerekiyor? Muhtemelen bunun için bir NPM paketi vardır.

Çapraz Platform Uyumluluğu

NodeJS uygulamaları doğası gereği çapraz platformdur. Windows'ta yazılan kod, değişiklik yapmadan Linux veya macOS'ta sorunsuz bir şekilde çalışabilir. Bu, geliştiriciler için büyük bir avantajdır, çünkü farklı işletim sistemleri için kodu yeniden yazma ihtiyacını ortadan kaldırır.

Gerçek Zamanlı Uygulamalar

NodeJS'nin olay odaklı doğası ve eşzamansız programlama stili, onu gerçek zamanlı uygulamalar oluşturmak için ideal bir seçim haline getirir. Bu uygulamalar, istemci ve sunucu arasında sürekli iki yönlü iletişim gerektirir ve NodeJS, bu iletişim akışını verimli bir şekilde yönetmede mükemmeldir, gerçek zamanlı sohbet, işbirliğine dayalı düzenleme ve canlı veri güncellemeleri gibi özellikleri etkinleştirir.

Mikroservis Mimarisi

NodeJS uygulamalarının modüler yapısı, mikroservis mimarisiyle iyi uyum sağlar. Mikroservisler, bir uygulamayı birbiriyle iletişim kuran daha küçük, bağımsız hizmetlere ayırır. NodeJS'nin hafif ve ölçeklenebilir yapısı, bu mikroservisleri oluşturmak için uygun hale getirerek modülerliği ve karmaşık uygulamaların daha kolay bakımını teşvik eder.

Express Nedir?

Daha çok ExpressJS olarak bilinen Express, geliştiriciler için sağlam bir özellik kümesi sağlayan, minimal ve esnek bir NodeJS web uygulaması çerçevesidir. ExpressJS, NodeJS üzerine web uygulamaları ve API'ler oluşturma sürecini basitleştiren ve kolaylaştıran güçlü bir araç kutusu olarak düşünülebilir.

ExpressJS Temel Özellikleri

Yapılandırılmış Yaklaşım

ExpressJS, web uygulamanızın kodunu düzenlemek için iyi tanımlanmış bir yapı sağlar. Rotalar, ara yazılım ve şablon oluşturma gibi kavramları tanıtarak bakımı ve netliği teşvik eder. Bu yapı, sizin ve diğer geliştiricilerin kod tabanını anlamasını ve gezinmesini kolaylaştırır.

Yönlendirme

Web uygulamalarının temel bir işlevi, URL'lere göre istekleri işlemektir. ExpressJS, belirli URL'leri (örneğin, "/home" veya "/products/:id") uygulamanızdaki ilgili işleyici işlevlerine eşleyen rotalar tanımlamanıza olanak tanır. URL ve istek işleme mantığı arasındaki bu net ayrım, kodunuzu daha düzenli ve anlaşılması kolay hale getirir.

Ara Yazılım

Ara yazılım işlevleri, ExpressJS'de güçlü bir kavramdır. Bu işlevler, istek-yanıt döngüsüne çeşitli aşamalarda takılabilen aracı gibi davranır. Ara yazılım, aşağıdakiler dahil olmak üzere çok çeşitli görevleri gerçekleştirebilir:

Birden fazla ara yazılım işlevini birbirine zincirleyerek, özel ihtiyaçlarınıza uygun modüler ve esnek bir uygulama akışı oluşturabilirsiniz.

Şablon Oluşturma

Dinamik web sayfaları genellikle verilere dayalı olarak HTML içeriği oluşturmayı gerektirir. ExpressJS, Pug (eski adıyla Jade) veya EJS gibi çeşitli şablon oluşturma motorlarıyla entegre olur. Bu şablon oluşturma motorları, dinamik veriler için yer tutucularla HTML şablonları tanımlamanıza olanak tanır. ExpressJS, verilerinizi istemciye gönderilen son HTML yanıtını oluşturmak için şablonlarla sorunsuz bir şekilde entegre eder. Bu, dinamik web sayfaları oluşturma sürecini basitleştirir.

Esneklik ve Özelleştirme

ExpressJS yapılandırılmış bir yaklaşım sağlarken, esnek olacak şekilde tasarlanmıştır. Geliştirme sürecinizi hafif ve verimli tutarak, projeniz için yalnızca ihtiyacınız olan özellikleri kullanmayı seçebilirsiniz. Ayrıca, geniş Node.js ekosistemi, belirli ihtiyaçlar için işlevselliğini genişletmek üzere ExpressJS ile entegre edilebilen çok sayıda üçüncü taraf ara yazılım ve kitaplık sunar. Bu, ExpressJS'yi web uygulamanızın benzersiz gereksinimlerine uyacak şekilde uyarlamanıza olanak tanır.

Hata İşleme

ExpressJS, istek işleme sırasında meydana gelen hataları işlemek için yerleşik mekanizmalar sağlar. Bu, beklenmedik durumları zarif bir şekilde ele almak ve kullanıcılara veya günlük kaydı amaçları için bilgilendirici hata mesajları sağlamak için özel hata işleyicileri tanımlamanıza olanak tanır.

Test Desteği

ExpressJS uygulamalarının modüler yapısı, ara yazılım yaklaşımıyla birlikte, onları birim testine uygun hale getirir. Kod kalitesini ve bakımı teşvik ederek, bireysel bileşenleri ve ara yazılım işlevlerini yalıtımda test etmek için çeşitli test çerçeveleri kullanılabilir.

Geniş Topluluk ve Kaynaklar

ExpressJS, geniş ve aktif bir geliştirici topluluğundan yararlanır. Bu, her deneyim seviyesindeki geliştiricilere yardımcı olabilecek kapsamlı dokümantasyon, eğitimler ve çevrimiçi kaynaklara dönüşür. Ek olarak, topluluk tarafından bakımı yapılan çok sayıda ara yazılım ve kitaplık mevcuttur ve bu da geliştirme deneyimini daha da zenginleştirir.

NodeJS Express GET İstekleri Nasıl Yapılır?

Birkaç kısa ve basit adımda NodeJS Express kullanarak GET istekleri oluşturmaya nasıl başlayabileceğinizi öğrenmek için bu bölümü takip edin!

Adım 1 - Express'i Yükleyin

Henüz Express yüklü değilse, bunu npm, yarn veya Shell kullanarak yapabilirsiniz:

npm install express

Adım 2 - Bir Sunucu Oluşturun

İşte bir ExpressJS uygulaması için temel bir yapı:

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

// Buraya rotalarınız ve mantığınız

const port = process.env.PORT || 3000; // Port için ortam değişkenini kullanın veya varsayılan olarak 3000'e ayarlayın
app.listen(port, () => console.log(`Sunucu ${port} portunda dinliyor`));

Adım 3 - Bir GET Rotası Tanımlayın

Belirli bir yola GET isteklerini işleyen bir rota tanımlamak için app.get() yöntemini kullanın. İki argüman alır:

  1. Yol (örneğin, /users)
  2. İsteği ve yanıtı işleyen bir geri çağırma işlevi:
app.get('/users', (req, res) => {
  // /users uç noktasına GET isteğini işle
  res.send('Kullanıcılar uç noktasından merhaba!');
});

Bu örnekte, /users yoluna yapılan herhangi bir GET isteği, basit bir yanıt gönderen geri çağırma işlevini tetikleyecektir.

Adım 4 - GET Verilerine Erişim

Geri çağırma işlevindeki istek nesnesi (req), istekle birlikte gönderilen parametreler dahil olmak üzere istek hakkında bilgi sağlar. Bunlara nasıl erişileceği aşağıdadır:

Adım 5 - İsteğe Yanıt Verme

Yanıt nesnesi (res), istemciye bir yanıt göndermenizi sağlar. İşte bazı yaygın yöntemler:

Rotalarınızı tanımladıktan sonra sunucunuzu app.listen() çağırarak başlatmayı unutmayın.

Apidog - Kod Oluşturma ile Express GET İsteklerini Hızlandırın

Uygulama geliştirmenizin bir sonraki aşamasına hızla ilerlemek için, JavaScript programlama dili için bir kod oluşturma özelliğine sahip kapsamlı bir API geliştirme platformu olan Apidog'u kullanmayı düşünebilirsiniz.

apidog interface
button

JavaScript istemci kodunu yalnızca birkaç tıklamayla nasıl oluşturabileceğinize bir göz atalım.

Apidog ile Uygulamanız İçin Hızlıca JavaScript Kodu Oluşturun

Bu bölüm, uygulamanız için JavaScript (veya mevcut diğer programlama dilleri) kodu nasıl oluşturabileceğinizi vurgulayacaktır.

apidog generate client code

İlk olarak, ekranın sağ üst köşesinde bulunan </> düğmesini bulun. Düğmeyi bulmakta zorlanıyorsanız, yukarıdaki resme bakabilirsiniz.

apidog generate javascript unirest code

İhtiyacınız olan istemci tarafı programlama dilini seçerek devam edin. Hangi JavaScript kütüphanesini daha rahat kullandığınızı seçme gücüne sahipsiniz.

Tek yapmanız gereken kodu IDE'nize kopyalayıp yapıştırmak ve NodeJS uygulamanıza uyduğundan emin olmak için düzenlemeye devam etmek! Ancak, yukarıdaki resimde gösterildiği gibi Unirest kullanmak istiyorsanız, buradaki makaleye başvurabilirsiniz:

button

Apidog ile API'leri Test Edin

Apidog, geliştiricilere API'lerde hata ayıklama için rahat ama güzel bir kullanıcı arayüzü sağlar.

Yukarıdaki resimde okla vurgulanan çubuğa API uç noktasını sağlayın.

Bir URL'de birden fazla parametre kullanma konusunda emin değilseniz, bu makale, daha büyük veri kümelerindeki tam kaynağa nasıl ulaşacağınız konusunda size rehberlik edebilir!

apidog response view

API'nizden emin olduktan sonra, isteği API'ye gönderen Gönder'e tıklayabilirsiniz. Eksiksiz bir yanıt beklemelisiniz. Durum koduna bir bakış, başarılı olup olmadığını gösterir. Ayrıca, kodunuzun API'nin sunucularından gelen bilgileri anlaması gereken tam veri yapısını gösteren ham yanıtı da inceleyebilirsiniz.

button

Sonuç

Express ile NodeJS, olay odaklı, engellemeyen G/Ç'nin verimliliğinden yararlanan güçlü web uygulamaları oluşturmanıza olanak tanır. Express, GET isteklerine (ve diğer HTTP yöntemlerine) yanıt veren rotaları tanımlamanın temiz ve öz bir yolunu sağlar. Sorgu dizeleri veya yol parametreleri gibi, istekle birlikte gönderilen verileri işlemek için işlevler oluşturabilirsiniz.

Bu, istemci tarafından bilgi toplayarak dinamik ve etkileşimli web deneyimleri oluşturmanızı sağlar. Express'te GET isteklerini nasıl tanımlayıp işleyeceğinizi anlayarak, sağlam NodeJS uygulamaları oluşturmak için temel bir yapı taşının kilidini açtınız.

Explore more

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Fathom-R1-14B: Hindistan'dan Gelişmiş Yapay Zeka Muhakeme Modeli

Yapay zeka hızla gelişiyor. FractalAIResearch/Fathom-R1-14B, 14.8 milyar parametreyle matematik ve genel akıl yürütmede başarılı.

5 June 2025

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code: İşletmeler için En Özelleştirilebilir Yapay Zeka Destekli Kodlama Asistanı

Mistral Code'u keşfedin: Kurumsal kullanıma özel, en özelleştirilebilir yapay zeka destekli kodlama asistanı.

5 June 2025

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code'un 2025'te Yapay Zeka Kodlamasını Nasıl Dönüştürdüğü

Claude Code, 2025'te yapay zeka destekli kodlamayı nasıl devrimleştiriyor? Özelliklerini, kullanımını ve Windsurf kısıtlamalarından sonra neden popüler olduğunu öğrenin. Geliştiriciler için okunması gereken!

5 June 2025

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

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