Selamlar, kod yazan dostlar! Bugün, Node.js Express'te sorgu parametreleri dünyasına dalıyoruz. İster yeni başlayan ister deneyimli bir geliştirici olun, sorgu parametrelerini verimli bir şekilde nasıl yöneteceğinizi anlamak, sağlam API'ler oluşturmak için çok önemlidir. O halde, kemerlerinizi bağlayın ve Express.js becerilerinizi geliştirmeye hazır olun!
Konuya girmeden önce, API dokümantasyonu ve test etme için başvuracağınız araç olan Apidog'a hızlı bir selam! Ücretsiz, güçlü ve API geliştirme yolculuğunuzu mükemmel bir şekilde tamamlıyor. Apidog'u ücretsiz indirmeyi ve hayatınızı kolaylaştırmayı unutmayın!
Sorgu Parametreleri Nedir?
Öncelikle, sorgu parametrelerinin ne olduğunu açıklığa kavuşturalım. Bir sunucuya bir GET isteği gönderdiğinizde, sorgu parametrelerini kullanarak ek veriler ekleyebilirsiniz. Bu parametreler URL'nin bir parçasıdır ve genellikle sunucu tarafından döndürülen verileri filtrelemek, sıralamak veya özelleştirmek için kullanılır.
Örneğin, kullanıcı verilerini getirmek için bir API oluşturuyorsanız, kullanıcıları yaşlarına veya konumlarına göre almak isteyebilirsiniz. İşte sorgu parametreleri içeren tipik bir URL'nin nasıl görünebileceği:
http://example.com/users?age=25&location=NY
Bu URL'de, age=25
ve location=NY
sorgu parametreleridir.
Node.js Ortamınızı Kurmak
Sorgu parametreleriyle çalışmaya başlamadan önce, Node.js ortamımızı kurmamız gerekiyor. Henüz yapmadıysanız, Node.js'nin yüklü olduğundan emin olun. Bunu resmi Node.js web sitesinden indirebilirsiniz.
Node.js yüklendikten sonra, yeni bir proje dizini oluşturun ve npm
ile başlatın:
mkdir express-query-params
cd express-query-params
npm init -y
Ardından, Express'i yükleyin:
npm install express
Temel Bir Express Sunucusu Oluşturmak
Artık ortamımız kurulduğuna göre, temel bir Express sunucusu oluşturalım. server.js
adlı yeni bir dosya oluşturun ve aşağıdaki kodu ekleyin:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello, world!');
});
app.listen(port, () => {
console.log(`Server is running on http://localhost:${port}`);
});
Sunucunuzu aşağıdaki komutu kullanarak çalıştırın:
node server.js
"Server is running on http://localhost:3000" mesajını görmelisiniz. Tarayıcınızı açın ve ekranda "Hello, world!" ifadesini görmek için http://localhost:3000
adresine gidin.
Sorgu Parametreleri ile GET İsteklerini İşlemek
Artık temel bir sunucumuz olduğuna göre, sorgu parametrelerini işlemek için bazı işlevler ekleyelim.
Örnek 1: Basit Sorgu Parametreleri
Basit bir örnekle başlayacağız. Sorgu parametreleri içeren bir GET isteğini işlemek için sunucumuzu değiştirelim. server.js
dosyanızı aşağıdaki gibi güncelleyin:
app.get('/users', (req, res) => {
const age = req.query.age;
const location = req.query.location;
res.send(`Users with age: ${age} and location: ${location}`);
});
Bu kodda, sorgu parametrelerine erişmek için req.query
kullanıyoruz. req.query
nesnesi, URL'de gönderilen tüm sorgu parametrelerini içerir.
Uç Noktanızı Test Etmek
Sunucunuzu yeniden başlatın ve tarayıcınızda aşağıdaki URL'ye gidin:
http://localhost:3000/users?age=25&location=NY
"Users with age: 25 and location: NY" mesajını görmelisiniz.
Örnek 2: Birden Fazla Sorgu Parametresini İşlemek
Bir adım daha ileri gidelim ve birden fazla sorgu parametresini daha etkili bir şekilde ele alalım. Daha karmaşık senaryoları işlemek için server.js
dosyanızı güncelleyin:
app.get('/search', (req, res) => {
const { term, limit, page } = req.query;
res.send(`Searching for: ${term}, Limit: ${limit}, Page: ${page}`);
});
Bu örnekte, parametreleri doğrudan çıkarmak için req.query
nesnesini parçalıyoruz. Bu, kodu daha temiz ve daha okunabilir hale getirir.
Uç Noktanızı Test Etmek
Sunucunuzu yeniden başlatın ve tarayıcınızda aşağıdaki URL'ye gidin:
http://localhost:3000/search?term=nodejs&limit=10&page=2
"Searching for: nodejs, Limit: 10, Page: 2" mesajını görmelisiniz.
Sorgu Parametrelerini Doğrulamak
Sorgu parametrelerini işlemek harika olsa da, API'nizin doğru ve güvenli bir şekilde davrandığından emin olmak için bunları doğrulamak çok önemlidir. Sorgu parametrelerimize biraz doğrulama ekleyelim.
Örnek 3: Temel Doğrulama
Doğrulama mantığını dahil etmek için server.js
dosyanızı güncelleyin:
app.get('/products', (req, res) => {
const { category, price } = req.query;
if (!category || !price) {
return res.status(400).send('Missing category or price');
}
res.send(`Category: ${category}, Price: ${price}`);
});
Bu örnekte, category
ve price
sorgu parametrelerinin mevcut olup olmadığını kontrol ediyoruz. Herhangi biri eksikse, bir hata mesajıyla birlikte 400 durum kodu döndürüyoruz.
Uç Noktanızı Test Etmek
Sunucunuzu yeniden başlatın ve tarayıcınızda aşağıdaki URL'ye gidin:
http://localhost:3000/products?category=electronics&price=100
"Category: electronics, Price: 100" mesajını görmelisiniz.
Sorgu parametrelerinden biri olmadan URL'ye erişmeyi deneyin:
http://localhost:3000/products?category=electronics
"Missing category or price" hata mesajını görmelisiniz.
Middleware ile Gelişmiş Sorgu Parametresi İşleme
Express'teki middleware işlevleri, rotalarınıza ek işlevsellik eklemenin güçlü bir yoludur. Sorgu parametrelerini daha verimli bir şekilde nasıl işleyebileceğimize bakalım.
Örnek 4: Sorgu Parametresi Doğrulaması için Middleware
middleware.js
adlı yeni bir dosya oluşturun ve aşağıdaki kodu ekleyin:
const validateQueryParams = (req, res, next) => {
const { category, price } = req.query;
if (!category || !price) {
return res.status(400).send('Missing category or price');
}
next();
};
module.exports = validateQueryParams;
Bu middleware işlevinde, sorgu parametrelerini doğruluyoruz ve doğrulama başarılı olursa kontrolü bir sonraki middleware'e veya rota işleyicisine geçirmek için next()
çağırıyoruz.
Middleware'i Rotalarınızda Kullanmak
Middleware'i kullanmak için server.js
dosyanızı güncelleyin:
const validateQueryParams = require('./middleware');
app.get('/products', validateQueryParams, (req, res) => {
const { category, price } = req.query;
res.send(`Category: ${category}, Price: ${price}`);
});
Şimdi, validateQueryParams
middleware'i, sorgu parametrelerinin doğrulandığından emin olarak, rota işleyicisinden önce yürütülecektir.
API Dokümantasyonu ve Test Etme için Apidog Kullanmak
Söz verdiğimiz gibi, Apidog hakkında konuşalım. API'lerinizi belgelemek ve test etmek için mükemmel bir araçtır. Apidog ile etkileşimli API dokümantasyonu oluşturabilir, uç noktalarınızı test edebilir ve her şeyin beklendiği gibi çalıştığından emin olabilirsiniz.
API Dokümantasyonu Oluşturmak
Express uygulamanız için API dokümantasyonu oluşturmak için Apidog'u kullanabilirsiniz. Proje içinde yeni bir API oluşturabilirsiniz. Dokümantasyon, REST API'sinin kaynaklarını, işlemlerini ve parametrelerini açıklayan bir taslağıdır. Yeni bir API oluşturmak için proje sayfasındaki "+" düğmesine tıklayın.

Apidog ile API'nizi Test Etmek
Dokümantasyonunuz kurulduktan sonra, API uç noktalarınızı doğrudan Apidog arayüzünden test edebilirsiniz. Bu, sorgu parametrelerinizin ve yanıtlarınızın doğru çalıştığını doğrulamayı kolaylaştırır.
HTTP yöntemlerini, istek/yanıt modellerini, sorgu parametrelerini, başlıkları vb. doldurun.

Tüm API'ler geliştirildikten sonra, API'lerinizi test etmek için "Gönder" düğmesine tıklayabilirsiniz.

Sorgu Parametreleriyle Çalışmak için En İyi Uygulamalar
Temel bilgileri ele aldığımıza göre, Node.js Express'te sorgu parametreleriyle çalışmak için bazı en iyi uygulamaları tartışalım.
Parametrelerinizi Doğrulayın: API'nizin güvenli ve güvenilir olduğundan emin olmak için her zaman sorgu parametrelerini doğrulayın. Kodunuzu temiz ve bakımı kolay tutmak için middleware kullanın.
Varsayılan Değerler Kullanın: API'nizi daha kullanıcı dostu hale getirmek için isteğe bağlı sorgu parametreleri için varsayılan değerler sağlayın. Bu, hatalardan kaçınmaya ve kullanıcı deneyimini iyileştirmeye yardımcı olabilir.
API'nizi Belgeleyin: API uç noktalarınızı ve sorgu parametrelerinizi belgelemek için Apidog gibi araçlar kullanın. Bu, diğer geliştiricilerin API'nizi anlamasını ve kullanmasını kolaylaştırır.
Hataları Zarif Bir Şekilde İşleyin: Sorgu parametreleri eksik veya geçersiz olduğunda anlamlı hata mesajları döndürün. Bu, kullanıcıların neyin yanlış gittiğini ve nasıl düzelteceklerini anlamalarına yardımcı olur.
Basit Tutun: Tek bir uç noktada çok fazla sorgu parametresi kullanmaktan kaçının. API'niz çok sayıda parametre gerektiriyorsa, daha iyi netlik ve kullanılabilirlik için bunu birden fazla uç noktaya bölmeyi düşünün.
Sonuç
Node.js Express'te sorgu parametrelerini işlemek, herhangi bir API geliştiricisi için temel bir beceridir. Bu kılavuzdaki örnekleri ve en iyi uygulamaları izleyerek, sağlam ve kullanıcı dostu API'ler oluşturmak için iyi bir donanıma sahip olacaksınız.
Ve unutmayın, Apidog, API geliştirme yolculuğunuzu daha sorunsuz hale getirmek için burada. Apidog'u ücretsiz indirin ve API'lerinizi bir profesyonel gibi belgelemeye ve test etmeye başlayın!