4 min read
•Question 11 of 62easyHow does routing work in Express.js?
Understanding Express routing patterns.
What You'll Learn
- Basic routing
- Route parameters
- Router modules
Basic Routing
code.jsJavaScript
const express = require('express');
const app = express();
// HTTP methods
app.get('/', (req, res) => res.send('GET'));
app.post('/', (req, res) => res.send('POST'));
app.put('/', (req, res) => res.send('PUT'));
app.delete('/', (req, res) => res.send('DELETE'));
// Match all methods
app.all('/api', (req, res) => {
res.send(`${req.method} request`);
});Route Parameters
code.jsJavaScript
// URL params
app.get('/users/:id', (req, res) => {
res.json({ userId: req.params.id });
});
// Multiple params
app.get('/users/:userId/posts/:postId', (req, res) => {
const { userId, postId } = req.params;
res.json({ userId, postId });
});
// Query strings: /search?q=nodejs&limit=10
app.get('/search', (req, res) => {
const { q, limit } = req.query;
res.json({ query: q, limit });
});Router Module
code.jsJavaScript
// routes/users.js
const router = require('express').Router();
router.get('/', (req, res) => {
res.json([{ id: 1, name: 'John' }]);
});
router.get('/:id', (req, res) => {
res.json({ id: req.params.id });
});
router.post('/', (req, res) => {
res.status(201).json(req.body);
});
module.exports = router;
// app.js
const userRoutes = require('./routes/users');
app.use('/api/users', userRoutes);