CodeBlanks Logo Icon CodeBlanks

Proje tasarımı

Orta seviye finali mini uygulamasının iskeletini tasarlarsın.

Proje: Mini API sunucusu

Bu 5 derslik projede Express ile mini bir API sunucusu kuracaksın. Her derste bir parça ekleyecek, son derste rotalar, dosya kalıcılığı ve ara katman (middleware) birleşik çalışacak. Her dersin başlangıç kodu önceki dersin çözümünü içerir.

Express, Node.js üzerinde HTTP sunucusu yazmanın en yaygın çerçevesidir. const express = require('express') ile içe aktarılır, const app = express() ile uygulama nesnesi oluşturulur. app.get(yol, işleyici) bir GET rotası kaydeder. Rotaları bir dizide de tutarsan, program çalışırken kaç rota olduğunu yazdırabilirsin. Bu proje Express + fs + middleware birikimini sınamak için tasarlandı.

Rota kaydı

Bir rotayı app.get(yol, işleyici) ile kaydedersin. İşleyici (handler) (req, res) => res.json(veri) biçimindedir; req isteği, res yanıtı temsil eder. res.json(veri) yanıtı JSON olarak gönderir.

Rotaları elle bir dizide de tutmak, programın durumunu yazdırabilmeni sağlar. Örnek: routes.push({method: 'GET', path: '/health'}). Sonra console.log('Rota sayısı: ' + routes.length) ile özet yazdırılır. Express'in app.get çağrısı rotayı kaydeder; senin dizin ise bu kaydı aynalaştırır. Böylece rotaların listesini program içinde denetleyebilirsin.

Uygulama Express iskeletini kur

const express = require('express') ile içe aktar. const app = express() ile uygulama nesnesi oluştur. const routes = [] tanımla. app.get('/health', (req, res) => res.json({ok: true})) ile sağlık rotası ekle. routes.push({method: 'GET', path: '/health'}) ile dizine kaydet. console.log('Sunucu hazır') yazdır.

Başlangıç kodu

index.js
// express modülünü içe aktar ve app oluştur
// /health rotası ekle, rotaları diziye kaydet
// 'Sunucu hazır' yazdır
// buraya yaz

Örnek çözüm

index.js
const express = require('express');
const app = express();
const routes = [];
app.get('/health', (req, res) => res.json({ok: true}));
routes.push({method: 'GET', path: '/health'});
console.log('Sunucu hazır');

Beklenen çıktı

Sunucu hazır

Soru ve cevaplar

Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.

1 express() ne döndürür?

index.js
const app = express();
  • Bir dize
  • Bir sayı
  • Bir promise
  • Uygulama nesnesi Doğru cevap

Açıklama: express() uygulama nesnesini döndürür, rotalar bununla eklenir.

2 express modülünü içe aktar

Soru
const express = require(____);
Cevap
const express = require('express');

Açıklama: express modülü require('express') ile alınır.

3 Parçayı rolüne eşle

Kavram Anlamı
express() Uygulama nesnesi yaratır
app.get GET rotası kaydeder
res.json JSON yanıtı gönderir
routes.push Rotayı diziye ekler

Orta seviye bölümündeki tüm dersler