Node.js'de GET İsteği Nasıl Yapılır: Yeni Başlayanlar İçin Bir Rehber

Node.js'de GET istekleri yapmayı öğrenin: http modülü ve axios. Farklı formatlarda yanıt verilerini işleyin.

Efe Demir

Efe Demir

5 June 2025

Node.js'de GET İsteği Nasıl Yapılır: Yeni Başlayanlar İçin Bir Rehber

Node.js'de GET istekleri nasıl yapacağınızı öğrenmek ister misiniz? Eğer evet ise, doğru yerdesiniz. Bu blog yazısında, Node.js'de GET istekleri yapmak için yerleşik http modülünü ve popüler axios kütüphanesini nasıl kullanacağınızı göstereceğim. Ayrıca GET isteklerinin ne olduğunu, neden önemli olduklarını ve yanıt verilerini nasıl işleyeceğinizi açıklayacağım. Bu yazının sonunda, Node.js'de bir profesyonel gibi GET istekleri yapabileceksiniz.

GET İsteği Nedir?

GET isteği, en yaygın HTTP istekleri türlerinden biridir. HTTP, web tarayıcıları ve web sunucuları arasındaki iletişim için standart protokol olan Hypertext Transfer Protocol'ün kısaltmasıdır. HTTP istekleri, web tarayıcılarının web sunucularına veri istemek veya göndermek için gönderdiği mesajlardır. HTTP yanıtları, web sunucularının istenen verileri sağlamak veya gönderimi onaylamak için web tarayıcılarına geri gönderdiği mesajlardır.

GET isteği, web sunucusundan belirli bir kaynağı geri göndermesini isteyen bir HTTP isteği türüdür. Örneğin, web tarayıcınıza bir URL yazdığınızda, o URL ile ilişkili web sayfasını size göndermesi için web sunucusuna bir GET isteği yapıyorsunuz. Bir GET isteği, istenen kaynağı daha fazla bilgi veya filtrelemek için anahtar-değer çiftleri olan bazı sorgu parametrelerini de içerebilir. Örneğin, Google'da bir şey aradığınızda, arama teriminizi, dilinizi ve diğer seçeneklerinizi belirten bazı sorgu parametreleriyle Google web sunucusuna bir GET isteği yapıyorsunuz.

GET İstekleri Neden Önemlidir?

GET istekleri, web sunucularından veri almanın birincil yolu oldukları için önemlidir. HTML, JSON, XML, resimler, videolar ve daha fazlası gibi çeşitli veri türlerine erişmek için GET isteklerini kullanabilirsiniz. Ayrıca, diğer web uygulamalarından veri ve hizmetlere erişmenizi sağlayan arayüzler olan web API'leriyle etkileşim kurmak için GET isteklerini kullanabilirsiniz. Örneğin, OpenWeatherMap API'sinden hava durumu bilgilerini almak, IMDb API'sinden film bilgilerini almak veya Dog API'sinden köpek resimleri almak için GET isteklerini kullanabilirsiniz.

GET istekleri, kullanımı ve test edilmesi kolay oldukları için de önemlidir. Herhangi bir özel araç veya kütüphane olmadan, herhangi bir web tarayıcısını kullanarak GET istekleri yapabilirsiniz. Ayrıca, farklı parametreler ve başlıklarla GET istekleri yapmak ve test etmek için Postman veya Apidog gibi araçları kullanabilirsiniz. Ayrıca, tarayıcının geliştirici araçlarını veya aracın arayüzünü kullanarak yanıt verilerini ve başlıklarını inceleyebilirsiniz.

NodeJs Nedir?

Node.js, JavaScript kodunu bir web tarayıcısının dışında çalıştırmanıza olanak tanıyan bir JavaScript çalışma zamanı ortamıdır. Node.js, Google Chrome V8 JavaScript motorunu temel alır ve özellikle veri yoğun ve gerçek zamanlı uygulamalar olmak üzere web uygulamaları oluşturmak için kullanılır. Node.js ayrıca projelerinize işlevsellik eklemek için kullanabileceğiniz geniş bir modül ve paket kütüphanesine sahiptir. Node.js'nin bazı faydaları şunlardır:

NodeJs Website

http Modülünü Kullanarak Node.js'de GET İsteği Nasıl Yapılır?

Node.js, JavaScript kodunu web tarayıcısının dışında çalıştırmanıza olanak tanıyan bir JavaScript çalışma zamanı ortamıdır. Node.js genellikle web sunucuları, web uygulamaları ve web API'leri oluşturmak için kullanılır. Node.js ayrıca, HTTP istekleri ve yanıtları yapmanızı sağlayan yerleşik bir http modülü sağlar.

http modülünü kullanarak Node.js'de bir GET isteği yapmak için şu adımları izlemeniz gerekir:

  1. require işlevini kullanarak http modülünü içe aktarın.
  2. Ana bilgisayar adı, bağlantı noktası, yol ve başlıklar gibi GET isteği hakkında bilgileri içeren bir options nesnesi oluşturun.
  3. GET isteğini yapmak için http.get yöntemini kullanın, options nesnesini ilk argüman ve bir geri çağırma işlevini ikinci argüman olarak geçirin. Geri çağırma işlevi, yanıt alındığında yürütülecek ve parametresi olarak bir response nesnesine sahip olacaktır.
  4. Yanıt verilerini ve başlıklarını işlemek için response nesnesini kullanın. response nesnesi, ReadableStream arabirimini uygulayan http.IncomingMessage sınıfının bir örneğidir. Bu, response nesnesini bir veri akışı olarak kullanabileceğiniz ve data, end ve error gibi olayları dinleyebileceğiniz anlamına gelir. Ayrıca, yanıtın durum kodunu almak için response.statusCode özelliğini ve yanıtın başlıklarını almak için response.headers özelliğini kullanabilirsiniz.
  5. response nesnesi için olay dinleyicileri kaydetmek için response.on yöntemini kullanın. Örneğin, bir veri parçası alındığında yayılacak olan data olayını dinlemek için response.on('data', callback) yöntemini kullanabilirsiniz. Geri çağırma işlevi, parametresi olarak bir veri arabelleği olan bir chunk nesnesine sahip olacaktır. Arabelleği bir dizeye dönüştürmek ve tüm yanıt verilerini depolamak için bir değişkene eklemek için chunk.toString() yöntemini kullanabilirsiniz. Ayrıca, yanıt tamamlandığında yayılacak olan end olayını dinlemek için response.on('end', callback) yöntemini kullanabilirsiniz. Geri çağırma işlevi herhangi bir parametreye sahip olmayacaktır ve günlük kaydı veya yanıt verilerini ayrıştırma gibi herhangi bir son eylemi gerçekleştirmek için kullanabilirsiniz. Ayrıca, yanıt sırasında bir hata oluştuğunda yayılacak olan error olayını dinlemek için response.on('error', callback) yöntemini kullanabilirsiniz. Geri çağırma işlevi, parametresi olarak bir error nesnesine sahip olacaktır ve hatayı, örneğin günlük kaydı veya fırlatma gibi işlemek için kullanabilirsiniz.

İşte http modülünü kullanarak Node.js'de bir GET isteği yapmaya bir örnek:

// http modülünü içe aktar
const http = require('http');

// Bir seçenek nesnesi oluştur
const options = {
  hostname: 'api.openweathermap.org',
  port: 80,
  path: '/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY',
  headers: {
    'User-Agent': 'Node.js'
  }
};

// GET isteğini yap
http.get(options, (response) => {
  // Yanıt verilerini depolamak için bir değişken başlat
  let data = '';

  // Veri olayını dinle
  response.on('data', (chunk) => {
    // Parçayı veri değişkenine ekle
    data += chunk.toString();
  });

  // Son olayını dinle
  response.on('end', () => {
    // Durum kodunu ve başlıkları kaydet
    console.log(`Durum kodu: ${response.statusCode}`);
    console.log(`Başlıklar: ${JSON.stringify(response.headers)}`);

    // Verileri JSON olarak ayrıştır
    const weather = JSON.parse(data);

    // Hava durumu bilgilerini kaydet
    console.log(`Şehir: ${weather.name}`);
    console.log(`Sıcaklık: ${weather.main.temp}`);
    console.log(`Açıklama: ${weather.weather[0].description}`);
  });

  // Hata olayını dinle
  response.on('error', (error) => {
    // Hatayı fırlat
    throw error;
  });
});

axios Kütüphanesini Kullanarak Node.js'de GET İsteği Nasıl Yapılır?

http modülü, HTTP istekleri ve yanıtları yapmak için temel işlevsellik sağlayan düşük seviyeli bir modüldür. Ancak, daha üst düzey ve kullanıcı dostu bir modül kullanmak istiyorsanız, axios kütüphanesini kullanabilirsiniz. Axios, vaatleri ve async/await sözdizimini kullanarak HTTP istekleri yapmanıza ve yanıtları işlemenize olanak tanıyan popüler ve güçlü bir kütüphanedir. Axios ayrıca, yakalayıcılar, dönüştürücüler, zaman aşımı, iptal belirteçleri ve daha fazlası gibi özellikleri de destekler.

axios kütüphanesini kullanarak Node.js'de bir GET isteği yapmak için şu adımları izlemeniz gerekir:

  1. npm komutunu kullanarak axios kütüphanesini yükleyin: npm install axios.
  2. require işlevini kullanarak axios kütüphanesini içe aktarın.
  3. GET isteğini yapmak için axios.get yöntemini kullanın, kaynağın URL'sini ilk argüman ve isteğe bağlı bir config nesnesini ikinci argüman olarak geçirin. config nesnesi, başlıklar, parametreler, zaman aşımı ve daha fazlası gibi GET isteği hakkında bilgiler içerebilir. axios.get yöntemi, bir response nesnesine çözülecek veya bir error nesnesine reddedilecek bir vaat döndürecektir.
  4. Çözülen vaadi işlemek için then yöntemini kullanın ve ilk argüman olarak bir geri çağırma işlevi geçirin. Geri çağırma işlevi, yanıt verilerini, durumunu, başlıklarını ve daha fazlasını içeren bir response nesnesine sahip olacaktır. Yanıt verilerine erişmek için response.data özelliğini ve yanıtın durum koduna erişmek için response.status özelliğini kullanabilirsiniz. Ayrıca, reddedilen vaadi işlemek için catch yöntemini kullanabilir ve ilk argüman olarak bir geri çağırma işlevi geçirebilirsiniz. Geri çağırma işlevi, hata mesajını, kodunu, isteğini ve yanıtını içeren bir error nesnesine sahip olacaktır. error.response özelliğini yanıt nesnesine ve error.request özelliğini istek nesnesine erişmek için kullanabilirsiniz.
  5. Alternatif olarak, GET isteğini yapmak ve yanıtı işlemek için async/await sözdizimini kullanabilirsiniz. Bunu yapmak için, GET isteğini içeren işlevin önüne async anahtar sözcüğünü ve axios.get yönteminin önüne await anahtar sözcüğünü kullanmanız gerekir. Bu, asenkron kodu senkron bir şekilde yazmanıza ve response nesnesini bir değişkene atamanıza olanak tanır. Daha sonra, GET isteği sırasında oluşabilecek hataları işlemek için try/catch bloğunu kullanabilirsiniz.

İşte axios kütüphanesini kullanarak Node.js'de bir GET isteği yapmaya bir örnek:

// axios kütüphanesini içe aktar
const axios = require('axios');

// then yöntemi kullanılarak GET isteği yap
axios.get('http://api.openweathermap.org/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY', {
  headers: {
    'User-Agent': 'Node.js'
  }
}).then((response) => {
// Durum kodunu ve başlıkları kaydet
  console.log(`Durum kodu: ${response.status}`);
  console.log(`Başlıklar: ${JSON.stringify(response.headers)}`);

  // Hava durumu bilgilerini kaydet
  console.log(`Şehir: ${response.data.name}`);
  console.log(`Sıcaklık: ${response.data.main.temp}`);
  console.log(`Açıklama: ${response.data.weather[0].description}`);
}).catch((error) => {
  // Hata mesajını ve kodunu kaydet
  console.log(`Hata mesajı: ${error.message}`);
  console.log(`Hata kodu: ${error.code}`);

  // Yanıt durumunu ve verilerini (varsa) kaydet
  if (error.response) {
    console.log(`Yanıt durumu: ${error.response.status}`);
    console.log(`Yanıt verileri: ${JSON.stringify(error.response.data)}`);
  }

  // İstek yöntemini ve yolunu (varsa) kaydet
  if (error.request) {
    console.log(`İstek yöntemi: ${error.request.method}`);
    console.log(`İstek yolu: ${error.request.path}`);
  }
});

// async/await sözdizimini kullanarak GET isteği yap
async function getWeather() {
  try {
    // GET isteğini bekle ve yanıt nesnesini bir değişkene ata
    const response = await axios.get('http://api.openweathermap.org/data/2.5/weather?q=Los%20Angeles&appid=YOUR_API_KEY', {
      headers: {
        'User-Agent': 'Node.js'
      }
    });

    // Durum kodunu ve başlıkları kaydet
    console.log(`Durum kodu: ${response.status}`);
    console.log(`Başlıklar: ${JSON.stringify(response.headers)}`);

    // Hava durumu bilgilerini kaydet
    console.log(`Şehir: ${response.data.name}`);
    console.log(`Sıcaklık: ${response.data.main.temp}`);
    console.log(`Açıklama: ${response.data.weather[0].description}`);
  } catch (error) {
    // Hata mesajını ve kodunu kaydet
    console.log(`Hata mesajı: ${error.message}`);
    console.log(`Hata kodu: ${error.code}`);

    // Yanıt durumunu ve verilerini (varsa) kaydet
    if (error.response) {
      console.log(`Yanıt durumu: ${error.response.status}`);
      console.log(`Yanıt verileri: ${JSON.stringify(error.response.data)}`);
    }

    // İstek yöntemini ve yolunu (varsa) kaydet
    if (error.request) {
      console.log(`İstek yöntemi: ${error.request.method}`);
      console.log(`İstek yolu: ${error.request.path}`);
    }
  }
}

// getWeather işlevini çağır
getWeather();

Node.js'de Yanıt Verileri Nasıl İşlenir?

Node.js'de bir GET isteği yaptıktan ve yanıtı aldıktan sonra, yanıt verileriyle bir şeyler yapmak isteyebilirsiniz. Örneğin, verileri konsolda görüntülemek, verileri bir dosyaya kaydetmek, verileri JSON veya XML olarak ayrıştırmak veya verileri başka bir amaç için kullanmak isteyebilirsiniz.

Yanıt verilerinin türüne ve biçimine bağlı olarak, verileri işlemek için farklı yöntemler ve modüller kullanmanız gerekebilir. İşte bazı yaygın senaryolar ve bunların nasıl işleneceği:

Apidog Kullanarak NodeJs HTTP GET İsteği Nasıl Test Edilir?

Apidog kullanarak HTTP Get isteğini test etmek için şu basit adımları izlemeniz gerekir:

  1. Apidog'u açın ve yeni bir istek oluşturmak için "Yeni İstek" düğmesine tıklayın.
Select new request

2. İsteğin yöntemi olarak "GET"i seçin.

Select get method

3. API uç noktasının URL'sini girin

Enter the URL op the API

Ardından, isteği API'ye göndermek için "Gönder" düğmesine tıklayın.

Send the request and analyse the answer

Gördüğünüz gibi, Apidog size isteğin URL'sini, parametrelerini, başlıklarını ve gövdesini ve yanıtın durumunu, başlıklarını ve gövdesini gösterir. Ayrıca, isteğin ve yanıtın yanıt süresini, boyutunu ve biçimini görebilir ve bunları farklı web API'leriyle karşılaştırabilirsiniz.

Sonuç

Bu blog yazısında, http modülünü ve axios kütüphanesini kullanarak Node.js'de GET istekleri yapmayı gösterdim. Ayrıca, yanıt verilerini farklı biçimlerde ve senaryolarda nasıl işleyeceğinizi de gösterdim. Umarım faydalı bir şeyler öğrenmiş ve bu yazıyı okumaktan keyif almışsınızdır.

Okuduğunuz için teşekkür eder ve mutlu kodlamalar dilerim!

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