Academy › 🔌 Backend & API › Sunucu Nedir?
🧪 Uygulama: Piksel Market'in ilk API'si
🔌 Sunucu Nedir? bölümü · Code Quest Backend & API parkuru
Öğrendiklerini tek bir sunucuda birleştirelim. Küçük ama gerçek bir API kuruyoruz: kimlik uç noktası, sağlık kontrolü, tam liste ve bir özet.
const express = require('express'); const app = express(); // 1) API kimliği app.get('/', (req, res) => { res.json({ ad: 'Piksel Market API', surum: '1.0' }); }); // 2) Sağlık kontrolü app.get('/saglik', (req, res) => { res.json({ durum: 'ayakta' }); }); // 3) Özet istatistik app.get('/istatistik', (req, res) => { res.json({ oyun: store.oyunlar.length, oyuncu: store.oyuncular.length, stoksuz: store.oyunlar.filter(o => o.stok === 0).length }); }); app.listen(3000, () => console.log('Piksel Market API hazır')); send('GET', '/'); send('GET', '/istatistik');
· Piksel Market API hazır → GET / ← 200 OK content-type: application/json { "ad": "Piksel Market API", "surum": "1.0" } → GET /istatistik ← 200 OK content-type: application/json { "oyun": 12, "oyuncu": 10, "stoksuz": 1 }
Bu 20 satırda backend'in tam iskeleti var: uygulama, uç noktalar, işleyiciler, veri ve cevaplar. Bundan sonraki her bölüm bu iskeletin üstüne et koyacak.
Bölümü kapatmadan önce üç cümleyi hafızana kazı:
- Her istek bir cevap alır. Cevapsız istek = donmuş uygulama.
- Yollar kapıdır. Tanımlamadığın kapı 404 döner.
- Sıra önemlidir. İlk eşleşen yol kazanır.
Şimdi kendi elinle dene: aşağıdaki kodu çalıştır, sonra 📮 İstek Gönder panelinden /saglik ve /istatistik adreslerine istek at. Sol alttaki 🧭 Uç Noktalar listesinde sunucunun bütün kapılarını göreceksin.
Kendini test et
res.send ile res.json arasındaki fark nedir?
res.json daha hızlıdırres.json veriyi JSON'a çevirir ve content-type'ı application/json yaparAralarında hiçbir fark yoktur
Cevabı gör
Cevap: res.json veriyi JSON'a çevirir ve content-type'ı application/json yapar
res.json hem gövdeyi JSON metnine çevirir hem de doğru içerik tipini ekler; API'lerde varsayılan tercihtir.
Doğru mu, yanlış mı? — Bir sunucu, kendisine istek gelmeden de kendi başına iş yapmaya başlar.
Cevabı gör
Cevap: Yanlış
Backend tepki verendir: istek gelmedikçe işleyiciler çalışmaz. (Zamanlanmış görevler ayrı bir konudur.)