Node.js ile Get Request Nasıl Yapılır?
0

“Get Request” işlemi belirli bir sunucudan veri almamıza yardımcı olur. Örneğin bir Web sitemiz varsa ve biz bu sitemize hava durumu eklemek istiyorsak bu verileri sağlayan bir sunucuya talepte bulunmamız gerekir. İşte bu da tam olarak “Get Request” oluyor. Bu yazımda sizlere web geliştiriciler arasında popüler olan Node.js ile Get Request nasıl yapılır bundan bahsedeceğim.

Öncelikle geliştirme ortamı olarak “Atom” ve dosya işlemleri için “HyperText Terminal” teknolojilerini kullanacağız(indirme linklerini referanslar kısmında bulabilirsiniz). Son olarak “Node.js” ve “Express.js” Framework’ünü kullanacağız.

HyperText Terminal’de yapacağımız doya işlemlerinde problem yaşamamak için Sayın Emre Ferit Altıntaş‘ın geniş kapsamlı ve anlaşılır bir şekilde yazmış olduğu ” Linux’un Aydınlık Yüzü – Dosya Dizin Yapısı & Temel Komutlar ” adlı makaleyi okumanızı tavsiye ederim. Aynı zamanda Node.Js ve Npm hakkında temel bilgilere ulaşmak için Sayın Burak Kazaoğlu‘nun yazmış olduğu “Node.js Nedir? Sağladığı Avantajlar ve Örnek Uygulama” isimli makaleyi okuyabilirsiniz.

Başlangıçta terminal ekranında masaüstüne gelerek proje dosyalarının bulunacağı bir klasör oluşturacağız (Projeyi istediğiniz bir noktaya gidip de oluşturabilirsiniz ben burada masaüstümde oluşturmayı tercih ediyorum.). Daha sonrasında Javascript kodlarını yazacağımız dosyayı oluşturacağız ve ” atom . ” komutunu kullanarak bulunduğumuz klasörü atom editöründe açacağız.

Resim-1

Şimdi sırada Express.js’i kurmak var bunun için “npm” yani “Node paket yöneticisi”ni kullanacağız. Node paket yöneticisi Node.js ile birlikte yüklü geliyor ayrıyeten bir yükleme işlemi yapmamıza gerek yoktur. Yeni bir “npm” paketi oluşturmak için “npm init” komutunu kullanacağız.

Resim-2

Sırada Express.js’i yükleyip kod kısmına geçmek var. Terminalimize “ npm install Express –save ” komutunu yazıyoruz. Biraz bekledikten sonra Express.js yüklenmiş olacaktır.

Resim-3

Express.js’i yüklendikten sonra ” require(‘express’) ” kodunu yazarak Express modülünü kodumuza dahil etmiş oluyoruz ve ” express() ” fonksiyonunu Express modülünden çağırıyoruz. Bu iki işlemi sabit tutulan değişkenlere atıyoruz çünkü ileride kodumuz uzarsa değişken isimleri gözümüzden kaçabilir ve bu değişkenlerde yapmış olduğumuz değişiklikler kodumuz bozulmasına sebep olabilir(Resim-4).

Resim-4

Bu sabit isimlerini isterseniz değiştirebilirsiniz ancak genel kullanım bu şekildedir. Daha sonrasında ” app.listen(sayı) ” fonksiyonu, belirlenmiş bir porttaki (burada parantez içine girmiş olduğumuz sayı olacaktır) sunucumuza gönderilen HTTP isteklerinin dinlenmesini sağlayacaktır. Sunucumuzun çalıştığından emin olmak için ise bir geri çağırma fonksiyonu kullanarak sunucumuzu çalıştırdığımızda bir çıktı vermesini sağlıyoruz(Resim-5). Terminalimize yazacağımız “node app.js” komutuyla dosyamızı çalıştırıyoruz (Resim-6). Terminalde “node” komutunu kullanmadan önce oluşturmuş olduğumuz proje dizininde bulunmamız gerekmektedir. Daha sonrasında terminal ekranında “ctrl+c” yaparak sunucumuzun şu anlık çalışmasını durdurabiliriz.

Resim-5

Resim-6

Ancak şu anda Web tarayıcımızla “localhost:5000” adresine gittiğimizde şöyle bir hata alacağız (Resim-7). Bunun nedeni tarayıcımız “localhost:5000” adresine “GET request” yapmış olduğunda “Response” yani cevap alamamasıdır.

Resim-7

Şimdi sunucumuza ulaşmaya çalıştığımızda bir cevap vermesini sağlayalım. Bunun için “app.get()” fonksiyonunu kullanacağız. “localhost:5000″e gitmeye çalıştığımızda tarayıcımız “Root” sayfasına gitmek isteyecektir. Bu nedenle fonksiyonumuza ilk parametre olarak konum ve sonrasında da talep ve cevabı parametre olarak alan bir geri çağırma fonksiyonu yazacağız. Biz burada talep ve cevap yerine “Req ve Res” kısaltmalarını kullanacağız. Sonrasında geri çağırma fonksiyonu içinde “res.send()” fonksiyonu yazıp onun da içine bir HTML Tag’ı ekleyeceğiz(Resim-8). Bu kodları ekledikten sonra kaydedip sunucumuzu tekrar başlatalım ve “localhost:5000” adresini ziyaret edelim. Adrese gittiğimizde yazdırmak istediğimiz mesajın gösterildiğini göreceğiz.

Resim-8

Resim-9

Sunucumuzu başarıyla kurduk. Şimdi sırada “Node.js ile Get Request” yapmak var. Bunun için Node.js’in içinde olan “HTTPS” modülünü kullanacağız. Aynı Express.js modülünü eklerken yaptığımız gibi HTTPS modülünü kodumuza dahil edelim. Burada “Get Request” yapacağımız bir API kullanacağız. İstanbul Büyükşehir Belediye’sinin Açık Veri Portalından birini seçeceğiz (Açık Veri Portalına referanslar kısmındaki linkten erilebilirsiniz). Veri API’ye tıkladığımızda açılan pencereden “Sorgu Örneği (ilk 5 sonuç)” sorgu adresini kullanacağız ve bu adresi de “url” adında bir sabite eşitleyeceğiz.

Sorgu adresi : https://data.ibb.gov.tr/tr/api/3/action/datastore_search?resource_id=f4a205d7-39fd-4900-b7e7-d4a11c0b076d&limit=5

Resim-10

Artık gerekli kodları yazarak bu adreste bize sağlanmış olan verilere ulaşabiliriz. Resim-8‘deki yazmış olduğumuz app.get() kısmındaki geri çağırma fonksiyonunun içine “https.get()” fonksiyonunu yazıyoruz. Bu fonksiyon parametre olarak sorgu adresimizi ve bir geri çağırma fonksiyonu, geri çağırma fonksiyonumuz ise kendine bir cevap parametresi alacaktır. “console.log(cevap)” Koduyla sunucumuzu tekrar çalıştırdığımızda (localhost:5000 adresinde sayfayı yenilemelisiniz) terminal ekranına karşı sunucudan gelen cevabı yazdırabiliriz ve işlemin gerçekleşip gerçekleşmediğini terminal ekranına yazdırılmış “Status Code” kısmından öğrenebiliriz (Status code’ların anlamlarını buradan detaylı inceleyebilirsiniz).

Resim-11

Resim-12

Eğer “statusCode: 200” mesajını aldıysak “Get Request” işlemi başarıyla yapıldı demektir.

Umarım faydalı olmuştur, gelecekteki makalelerde görüşmek üzere.

Bu konuyla ilgili sorularınızı alt kısımda bulunan yorumlar alanını kullanarak sorabilirsiniz.

Referanslar:

https://www.mshowto.org/

https://data.ibb.gov.tr/

https://hyper.is/

https://atom.io/

https://nodejs.org/en/

http://expressjs.com/

https://developer.mozilla.org/en-US/docs/Web/JavaScript

TAGs: Node.js, Express.js, Framework, Atom, IDE, Linux, Dosya İşlemleri, Javascript, Terminal, Web, Web Geliştirme, Request, Get Request, Response, Get Response, Web Server, Web Sunucu, API, HTTP , HTTPS

Bu İçeriğe Tepkin Ne Oldu?
  • 14
    harika_
    Harika!!
  • 0
    be_enmedim
    Beğenmedim
  • 0
    _ok_iyi
    Çok iyi
  • 0
    sevdim_
    Sevdim!
  • 0
    bilemedim_
    Bilemedim!
  • 0
    olmad_
    Olmadı!
  • 0
    k_zd_m_
    Kızdım!

1999 Yılında İstanbul'da dünyaya geldi.Eğitimini Kocaeli Üniversitesi Bilişim Sistemleri Mühendisliğibölümünde devam ettiriyor. Cloud computing , data science, webgeliştirme ve blockchain ile ilgileniyor.

Yazarın Profili
İlginizi Çekebilir

Bültenimize Katılın

Tıklayın, üyemiz olun ve yeni güncellemelerden haberdar olan ilk kişi siz olun.

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir