Menu
CoddyTech

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.

challenge icon

Görev

Kolay
  • /api/recipes için olan dört rotayı server.js dosyasından routes/recipes.js dosyasına, /tags rotasının altına taşı.
  • Yönlendiriciyi /api/recipes adresine 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;
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Express Temelleri bölümündeki tüm dersler