В express вы называете это маршрутизатором.
const express = require('express');
const app = express();
const schoolRouter = require('./routers/school');
//...
app.use('/api/school', schoolRouter); // Forwards any requests to the schoolrouter
//...
School. js:
// The router works just like express app (which is also a router)
const schools = require('express').Router();
// we used example.com/api/schools/something to get here
// but the router only cares about what comes next
schools.get('/', function(req, res, next) {
// res.send()
});
// Get a single school (etc, you get the point)
schools.get('/:schoolId', function(req, res, next) {
let id = req.params.schoolId;
// get data from server and res.send()
});
//...
module.exports = schools;
И вы можете объединять маршрутизаторы в цепочку, но потому что у вас есть только частичный маршрут, параметры могут быть потеряны. Поэтому обычно параметры сохраняются в объекте req
.
schools.use('/:schoolId/classes', function(req, res, next) {
req.schoolId = req.params.schoolId;
next()
}, classesRouter);
Таким образом, мы можем получить доступ к req.schoolId
в любое время дальше по цепочке.