Sunucu uygulaması geliştirirken url üzerinden gelen parametreler çok işimize yarar. Bu parametereleri kullanarak istek yapılan sayfayı özelleştirerek kullanabiriz. Bu nedenle backend uygulama geliştirirken url üzerinde gelen değişkenlere ( query parameters) ulaşmak önemlidir.
Query String Nedir? ( Query Parameterleri)
Query string bir web sayfanı işaret eden url üzerinde bulunan ve sunucuya gönderilen parametrelerdir. Url üzerindeki özel bir alanı tanımlar, bu alan üzerinde parametreler ve onların değerleri bulunur. Bu parametreler istemci üzerinden sunucuya gönderilir.
Şimdi bir URLnin bölümlerine bakalım.
https://netbilio.com/?s=reactYukarıdaki adres üzerinde
- https:// ile belirtilen alan URLnin protokolünü belirtir.
- netbilio.com bölümü domaini belirtir.
- s=react bölümü ise query string, yani sorgu dizesidir.
Url üzerinde daha farklı bölümlerde olabilir. Fakat konu dışı olduğu için bizim için önemli olan bölüme odaklanacağız.
Query string dediğimiz alana, query parametersi ve sorgu dizesi de denilir. İsimlere aşina olmakta fayda bulunuyor.
Query String Nasıl Yazılır?
Web sayfası üzerindeki bir link üzerinden bazı parametreleri sunucuya göndermek istendiğimizde query string kullanıyoruz. Bunun için istek yapılacak web sayfasının adresinin sonuna önce bir soru işareti ? sonrasında query stringin adını degikenAdi ve sonrasında eşittir = ifadesini ve peşinden ise değişkenin değerini yazıyoruz. Mesela netbilio.com bir arama yapmak istersek ne yapacağız.
Şuan netbilio.com üzerinden arama yapmak için s parametersi kullanılıyor. Bu istek GET metodu ile yapılıyor. Yani normal bir bağlantı ile. Şimdi biz express kelimesini bu parametreye geçirerek sayfada arama yaptırmak isteyelim.
Bunun için gerekli olan URL değeri
https://netbilio.com/?s=expressşeklindedir. Bu adresi tarayıcınızın adress çubuğuna yazarak sonucu görebilirsiniz. Bir linke eklenmiş hali ise
<a href="https://netbilio.com/?s=express">express kelimesini ara</a>şeklinde olacaktır. Bu linki bir web sayfasına eklediğimizde bu linke tıklandığında ilgili sayfa sunucudan istenecek, sunucu s parametresinin olduğunu görünce bir arama olduğunu anlayacak ve arama sonucunu geri dönderecektir.
Node / Express JS İle Query String Nasıl Alınır?
Express JS ile uygulama yazarken query stringi öğrenmek oldukça basittir. URL üzerinde buluna query string parametreleri için request / istek üzerinde bulunan query değerine bakmak gerekir. query nesnesi tüm query parametrelerini içerir. Bir örnek ile açıklayalım.
https://netbilio.com/?s=react adresi üzerinden gelen s parameteresine express js üzerinden ulaşalım.
get("/", (req, res) => {
const sorgu = req.query.s;
console.log("Gönderilen sorgu değeri : " + sorgu + " şeklindedir.");
});
// Konsola URL üzerinde bulunan
// Gönderilen sorgu değeri : react şekindedir.
// yazdırılır.Örnekte görüldüğü gibi, URL üzerinde bulunan s parametresinin değerini almak için const sorgu = req.query.s şeklinde bir kod kullandık. Sonrasında aldığımız s parametresinin değerini konsola yazdırdık.
req.parasm.parametreAdiŞeklinde URL sorgu dizesi üzerindeki bir değişken Express JS üzerinden ulaşabiliyoruz.
Query String Nasıl Kullanılır?
Query string ile biz sunucuya belirli parametreler göndeririz. Sunucu üzerindeki yazılım bu parameterleri alır ve onlara bakarak kararlar verir ve özelleştirilmiş bir sayfayı geri dönderir.
Yukarıdaki örneğimizde
https://netbilio.comadresi sitenin anasayfasını verir. Oysa biz s adında bir parametre gönderdiğimizde sunucu bu parametreyi görür ve isteğin bir arama olduğunu anlar ve ona göre işlem yaparak arama sonucunu geri dönderir. Yapılacak arama için s parameteresinin değeri kullanılır.
Sonuç
URL üzerinden sunucuya parametre gönderebiliyoruz. Bu parameterlerin URL içerisindeki alanına query string diyoruz. Gönderilen parametrelere sunucu üzerinden ulaşarak özelleştirilmiş bir sayfa geri dönderebiliriz.
Express JS ile yaşadığınız deneyimleri bizimle paylaşır mısınız?
query parametersinin kullanımı query string kullanımı query string nedir
