#1 Data Analytics Program in India
₹2,499₹1,499Enroll Now
4 min read
Question 11 of 62easy

How 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);