Express Yönlendiricisi
Coddy'nin Node.js Journey'sinin Express Temelleri bölümünün bir parçası. Ders 16 / 20.
server.js artık sayfaları, API rotalarını ve ara yazılımları barındırıyor ve büyümeye devam ediyor.
// routes/books.js
const router = express.Router();
router.get('/', (req, res) => res.json(books));
router.get('/:isbn', (req, res) => res.json(findBook(req.params.isbn)));
export default router;
// server.js
app.use('/api/books', booksRouter);express.Router(), kendi rotaları olan ve kendi dosyasında tutulan küçük bir uygulama oluşturur. app.use('/api/books', booksRouter) onu bağlar: yönlendiricinin / rotası GET /api/books isteğini, /:isbn rotası ise GET /api/books/9780141439518 isteğini yanıtlar. Önek, app.use içinde bir kez yazılır. Yönlendirici içinde fırlatılan hatalar yine de uygulamanın hata işleyicisine ulaşır.
Yeni routes/recipes.js dosyasında zaten bir rota, /tags bulunuyor.
Görev
Kolay/api/recipesiçin olan dört rotayıserver.jsdosyasındanroutes/recipes.jsdosyasına,/tagsrotasının altına taşı.- Yönlendiriciyi
/api/recipesadresine bağla.
GET /api/recipes/tags, GET /api/recipes/2 ve GET /api/recipes/2/scale?by=lots isteklerini gönder.
Kendin dene
import express from 'express';
import { recipes } from '../data.js';
const router = express.Router();
// Her etiket bir kez, alfabetik sırayla.
router.get('/tags', (req, res) => {
const tags = new Set(recipes.flatMap((recipe) => recipe.tags));
res.json([...tags].sort());
});
// /api/recipes rotalarını server.js dosyasından buraya, /tags rotasının altına taşıyın.
// Bir router içinde yollar, router'ın bağlandığı konuma görelidir.
export default router;
Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.