Node.js
Express API
Express ile REST API iskeletini kurarsın.
Kullanıcı rotaları
Bu derste /users kaynağı için iki rota ekleyeceğiz: GET /users kullanıcı listesini döndürür, POST /users yeni kullanıcı oluşturur. Express'te app.get ve app.post ayrı yöntemlerdir; aynı yol için farklı işleyiciler kaydeder.
İşleyicilerde res.json(veri) yanıtı JSON olarak gönderir. GET /users boş bir dizi [] döndürebilir; POST /users {created: true} döndürebilir. Her rotayı routes.push(...) ile dizine de eklersin. Sonra routes.map(r => r.method + ' ' + r.path).join(', ') ile rotaları tek dize olarak yazdırırsın. Bu, API yüzeyini özetlemenin temiz yoludur.
Rotayı yazdırma
Tüm rotaları tek bir dize olarak yazdırmak için routes.map(...).join(', ') kullanırsın. map her rotayı bir dizeye çevirir; join bunları virgülle birleştirir. Bu, API yüzeyini özetler.
Örnek: routes.map(r => r.method + ' ' + r.path).join(', '). Üç rota varsa çıktı GET /health, GET /users, POST /users olur. join(', ') ile öğeler arasına virgül ve boşluk konur. Bu, rotaların program içinde denetlenmesinin pratik yoludur. console.log('Rotalar: ' + ...) ile öne etiket eklersin.
Uygulama Kullanıcı rotalarını ekle
app.get('/users', (req, res) => res.json([])) ekle. routes.push({method: 'GET', path: '/users'}) ile kaydet. app.post('/users', (req, res) => res.json({created: true})) ekle. routes.push({method: 'POST', path: '/users'}) ile kaydet. console.log('Rotalar: ' + routes.map(r => r.method + ' ' + r.path).join(', ')) yazdır.
Örnek çözümü göster
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');
app.get('/users', (req, res) => res.json([]));
routes.push({method: 'GET', path: '/users'});
app.post('/users', (req, res) => res.json({created: true}));
routes.push({method: 'POST', path: '/users'});
console.log('Rotalar: ' + routes.map(r => r.method + ' ' + r.path).join(', '));
Kendini test et
-
GET rotasını tanımla
app.____('/users', (req, res) => res.json([]));
Cevabı göster
app.get('/users', (req, res) => res.json([]));
-
Parçayı rolüne eşle
- app.get
- GET rotası kaydeder
- app.post
- POST rotası kaydeder
- res.json
- JSON yanıtı gönderir
- .map
- Her öğeyi dönüştürür
-
routes.map(r => r.method + ' ' + r.path) ne üretir?
routes.map(r => r.method + ' ' + r.path)
- Yol dizesi dizisi
- Bir sayı dizisi
- Boole dizisi
- Bir promise
Cevabı göster
Yol dizesi dizisi — map her rotayı 'METHOD path' dizesine çevirir.
Sıradaki ders: fs kalıcılık