Menu
CoddyTech

Express Router

Termasuk bagian Dasar-Dasar Express dalam perjalanan Node.js di Coddy. Pelajaran 16 dari 20.

server.js kini berisi halaman, rute API, dan middleware, serta terus bertambah.

// 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() membuat aplikasi kecil dengan rutenya sendiri, yang disimpan dalam filenya sendiri. app.use('/api/books', booksRouter) memasang router tersebut: / pada router menangani GET /api/books, dan /:isbn menangani GET /api/books/9780141439518. Awalan ditulis satu kali, di app.use. Error yang muncul di dalam router tetap diteruskan ke error handler aplikasi.

File baru routes/recipes.js sudah memiliki satu rute, /tags.

challenge icon

Tantangan

Mudah
  • Pindahkan empat rute /api/recipes dari server.js ke routes/recipes.js, di bawah /tags.
  • Pasang router di /api/recipes.

Kirim GET /api/recipes/tags, GET /api/recipes/2, dan GET /api/recipes/2/scale?by=lots.

Coba sendiri

import express from 'express';
import { recipes } from '../data.js';

const router = express.Router();

// Setiap tag muncul sekali, sesuai urutan abjad.
router.get('/tags', (req, res) => {
    const tags = new Set(recipes.flatMap((recipe) => recipe.tags));
    res.json([...tags].sort());
});

// Pindahkan rute /api/recipes dari server.js ke sini, di bawah /tags.
// Di dalam router, path bersifat relatif terhadap lokasi router dipasang.

export default router;
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Dasar-Dasar Express

Latihan sendiri: Playground Express