İlginizi Çekebilir
  1. Ana Sayfa
  2. Yazılım
  3. Node.js ile Get Request Nasıl Yapılır?

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

öne çıkan fotograf
JFORCE - Dell Technologies İşbirliği Başlıyor!

“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ı http://forum.mshowto.org/ linkini kullanarak ulaşacağınız forum sayfamızda 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, , Linux, , Javascript, Terminal, Web, Web Geliştirme, Request, Get Request, Response, Get Response, Web Server, Web Sunucu, API, HTTP , HTTPS

JFORCE - Dell Technologies İşbirliği Başlıyor!
Yorum Yap

Yazar Hakkında

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.

Yorum Yap