Building Your First API with Node.js and ExpressLesson 2.2
Express routing — defining GET POST PUT DELETE routes
app.get, app.post, app.put, app.delete, route parameters, req.params, req.body, req.query, res.json, res.status
Express Route Definitions
A route in Express maps an HTTP method and URL pattern to a handler function. The handler receives the request object (req) and response object (res).
Route Parameters and Request Data
const express = require('express');
const app = express();
app.use(express.json());
let users = [
{ id: 1, name: 'Alice' },
{ id: 2, name: 'Bob' }
];
// GET all users
app.get('/users', (req, res) => {
res.json(users);
});
// GET single user — :id is a route parameter
app.get('/users/:id', (req, res) => {
const user = users.find(u => u.id === Number(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 newUser = { id: Date.now(), name: req.body.name };
users.push(newUser);
res.status(201).json(newUser);
});
// DELETE
app.delete('/users/:id', (req, res) => {
users = users.filter(u => u.id !== Number(req.params.id));
res.status(204).send();
});req.params holds URL path variables (:id). req.body holds the parsed JSON body. req.query holds query string values like ?sort=name. Always validate these before using them — never trust input.
