Node JS ile basit API yapımı ( express.js ) #7
Merhabalar, bu yazıda sizlerle beraber express.js ile basit uygulama programlama arayüzü (Application Programming Interface, kısaca API) yapımını anlatacağız. Express.js bu iş için şuanda en çok kullanılan web çatılarından bir tanesi. Sonraki yazılarda micro ve fastify’dan da bahsediyor olacağız.
Bildiğiniz üzere API’lar HTTP metodlarına verilen XML ve / veya JSON formatında dönüşleri kapsar. Uygulamamızın arkayüzü ile önyüzü ayırmak için API’ları kullanabilirsiniz.
Express.js Kurulumu
Terminalinizden halihazırda “npm init” yaptığınız dizinde express’i kuralım,
npm i -s express.js
Kodun yapısı
Routings (Yönlendirmeler)
GET
POST
Express.js aşağıdaki metodlara destek vermektedir.
get, post, put, head, delete, options, trace, copy, lock, mkcol, move, purge, unlock, report, mkactivity, checkout, merge, m-search, notify, subscribe, unsubscribe, patch ve search
Routing’e gelmeden önce bir kontrol yaptırmak ve bunu tüm routinglerde çalıştırmak isteyebilirsiniz, örnek olarak oturum kontrolü verilebilir,
Routing Kontrolleri
Express.js routinglerin kontrolünde regex kullanmaktadır, bu sayede isteği nasıl alacağını kodlayabilirsiniz. Birkaç örnek kullanım yapalım.
Yukarıdaki örnekte GET ile elimizdeki kullanıcılar içerisinde listeleme ve istenilen kullanıcıyı görüntüleme işlemini yaptık.
Burada dikkat etmeniz gereken husus kullanıcı id değerini routing’den “:id” şeklinde alırken GET ile aldığımız için “req.params” objesinin altında yer aldı.
Eğer GET isteğinde query parametresi olarak gönderseydik onu “req.query” ile alacaktık. Örneğin,
// http://localhost:3000/user/?id=1req.query.id
Bu örneğe POST ile kullanıcı ekleyerek in-memory yani hafızada kullanıcılar objesiyle oynayarak alacağımız cevapları değiştirmiş olacağız.
POST’da parametreleri alabilmek için body-parser adlı kütüphaneyi eklemeliyiz.
npm i -s body-parser
Kodumuzun üstüne şu satırları ekliyoruz,
Yukarıdaki kod bloğunu ekledikten sonra formdan gönderilen parametreleri “req.body” ile alabilirsiniz.
Ekleme kodumuz şu şekilde olacak,
Yukarıdaki kod bloğunu ekledikten sonra kodumuz şu hali aldı,
Hazırlamış olduğumuz API’ı şu şekilde test edebilirsiniz,
GET ile kullanıcı listeleme
cURL
curl -X GET \
http://localhost:3000/user/ \
-H ‘cache-control: no-cache’
JavaScript yalın XHR isteği
PHP
Go
Dilerseniz kullanıcıya özel id değeri göndererek sadece o kullanıcı verisini döndüren API’ı kullanabilirsiniz.
POST ile kullanıcı ekleme
cURL
curl -X POST \
http://localhost:3000/user/create \
-H ‘cache-control: no-cache’ \
-H ‘content-type: application/x-www-form-urlencoded’ \
-d ‘name=Deneme&id=4’
JavaScript yalın XHR isteği
PHP
Go
Umarım faydası olmuştur, Node.js eğitim serisine devam ediyorum, blogumu takip ederek yeni makalelerimi bildirim olarak alabilirsiniz. Bir sonraki yazımı buradan takip edebilirsiniz.
Çağatay.