SyntaxStudy
Sign Up
Node.js Route Handlers and Response Methods
Node.js Beginner 9 min read

Route Handlers and Response Methods

Express route handlers receive req (request) and res (response) objects. The res object provides convenient methods: res.json(), res.send(), res.status(), res.redirect(), and more.

You can chain multiple handler functions for a single route.

Example
const express = require('express');
const app     = express();
app.use(express.json());

// In-memory "database":
let users = [
    { id: 1, name: 'Alice', email: 'alice@example.com' },
    { id: 2, name: 'Bob',   email: 'bob@example.com'   },
];
let nextId = 3;

// GET all users:
app.get('/users', (req, res) => {
    res.json(users);
});

// GET one user:
app.get('/users/:id', (req, res) => {
    const user = users.find(u => u.id === parseInt(req.params.id));
    if (!user) return res.status(404).json({ error: 'User not found' });
    res.json(user);
});

// POST create user:
app.post('/users', (req, res) => {
    const { name, email } = req.body;
    if (!name || !email) {
        return res.status(400).json({ error: 'name and email required' });
    }
    const newUser = { id: nextId++, name, email };
    users.push(newUser);
    res.status(201).json(newUser);
});

// DELETE a user:
app.delete('/users/:id', (req, res) => {
    const id = parseInt(req.params.id);
    users = users.filter(u => u.id !== id);
    res.status(204).send();
});

app.listen(3000, () => console.log('Running on port 3000'));