Bu yazıda Express.JS kullanarak, Node.JS’de nasıl web API oluşturabileceğinizi göstermeye çalışacağım. Şimdiden söylemem de yarar var, vereceğim örneklerde;

  • HTTP isteklerini işlemek için Express.JS ve verileri depolamak için Mongodb kullanıldı.

Giriş

Node.JS, Javascript kullanarak sunucu tarafı uygulamalar oluşturmak için kullanılan bir platformdur. Node.JS ile geliştiriciler dakikalar içinde arka uç API’leri oluşturabilirler. Harika bir topluluğu ve çok sayıda paketi vardır. Bu paketler, geliştiricilerin harika uygulamalar oluşturmalarına yardımcı olur. Böylelikle geliştiricilerin her şeyi sıfırdan inşa etmeleri gerekmez. Ancak biz bu yazımızda esas olarak Express.JS üzerinde yoğunlaşacağız. Express.JS, geliştiriciler tarafından web API’leri oluşturmak için en çok kullanılan paketlerden biridir.

Vereceğim örneklere geçmeden önce bazı gereksinimlere ihtiyacım olacaktır. Bunlar:

  • Temel Javascript Bilgisi
  • Node.JS 10.0.0 veya üst bir versiyon
  • NPM 4.6.1 veya üst bir versiyon
  • Mongodb 4.2.1 veya üst bir versiyon
  • VS-Code veya başka bir düzenleyici

Kurulum

Tipik bir Node.JS uygulamasında, en az iki dosya içeren bir kök dizini vardır. Bunlar, package.json (uygulama hakkında meta verileri ve gerekli npm paketleri) ve index.js dosyasıdır(bir javascript giriş dosyası).

Aşağıda verdiğim kodları takip ederek kurulumu gerçekleştirebilirsiniz.

  • Proje dizinini oluşturun.
  • package.json dosyasını oluşturun.
  • index.js dosyasını (giriş dosyasını) oluşturun
  • Ardından Uygulamayı Çalıştırın

Kurulum işleminden sonra ihtiyacımız olan bazı paketleri inceleyelim.

Paketler

Express.js web uygulamamız için bu paketlere ihtiyacımız olacak:

  • express: yönlendirme ve ara katman yazılımı web çerçevesi paketi
  • cors: kaynaklar arası paylaşım paketi
  • body-parser: json gövdesini javascript nesnesine ayrıştıran bir paket
  • morgan: http isteklerini günlüğe kaydetmek ve istekleri görmek için önemli bir paket
  • mongoose: geliştirilen uygulmaya göre model oluşturan bir modül
  • nodemon: herhangi bir değişiklikte sunucuyu yeniden başlatarak geliştirmeyi kolaylaştıran bir modül

nodemon yalnızca geliştirme sırasında kullanıldığı için zorunlu değildir.

Artık npm modüllerini yükleyebiliriz.

Bu paketleri index.js içersine aktarmamız gerekiyor.

Veritabanı

!!! Yukarıda belirttiğim gibi, uygulama ile ilgili bilgileri depolamak için Mongodb kullanıyoruz. Mongodb ve node.js uygulama modelleri arasında ise mongoose kullanıyoruz.

Bunun için öncelikle Mongodb bağlantısını sağlayalım.

Mongodb üzerinden okunan veya Mongodb üzerine yazılan belgenin yapısını tanımlamak için mongoose şeması oluşturmalıyız.

Başlığı ve gövdesi olan gönderilerin yapısını tanımlamak için postSchema adlı bir şema oluşturun.

MVC Yapısı

Bir MVC uygulaması üç katman halinde yapılandırılmıştır [modeller, görünümler ve denetleyiciler].
Genellikle her katman bir dizinde bulunur. Örneğimiz de tüm katmanları ayrı ayrı inceleyeceğiz.

Modeller

Modeller, alana özgü verileri temsil ederler ve yukarıda tanımlanan postSchema’ya dayanmaktadırlar. Bunun için öncelikle;

Post modeli oluşturarak işe başlayın:

Hizmetler

Hizmet katmanı, bir Denetleyicilerve Model arasındaki iletişime aracılık eden MVC’deki ek bir katmandır. Bu katman daha fazla soyutlama ve test edilebilirlik kolaylığı sağlar. Bunun için;

İki hizmeti ortaya çıkaran bir postService varlığı oluşturmalısınız:

  • find: tüm gönderi verilerini sorgulamak için
  • save: bir gönderiyi kaydetmek için

Denetleyiciler

Denetleyiciler, adından da anlaşılacağı gibi, gelen talebi kontrol eder, hataları yakalar ve istemciye bir yanıt gönderir. Bunun için;
İki eylemi olan bir postController oluşturun:

  • find: GET api/posts
  • save: POST api/posts

Express Uygulaması

Express, kendine ait minimum işlevselliğe sahip bir yönlendirme ve ara katman yazılımı web çerçevesidir: Bir Express uygulaması, esasen bir ara katman yazılımı çağrı dizisidir.

Örnek vermek gerekirse, hızlıca bir uygulama oluşturabilirsiniz:

Express Yönlendirici

Ekspres yönlendirici, isteği denetleyicideki belirli bir eyleme yönlendirir. Bunu işlemek için Express Router‘a dayalı iki yol tanımlamalısınız:

Örneğin Tamamı

İncelemeniz için eksiksiz bir Express.JS sunucusu ekliyorum.

Panoya Kopyala!

Sonuç Olarak

Nasıl Express Sunucusu oluşturacağınızı ve verileri depolamak için Mongodb ile nasıl bağlantı kuracağınızı ayrıntılı olarak görmüş oldunuz. Bu kısa yazımızda, basit ve anlaşılır olması için tüm kodları buraya koymuş oldum. Herhangi bir sorunuzu iletmek için iletişim adresimize yazabilirsiniz.

Kendinize dikkat edin. Sağlıcakla Kalın.

Burası AnatoliaCode.

Paylaşmak İster Misiniz?