Routing en Express.js
Define rutas, parámetros y controladores para construir APIs limpias
Rutas básicas
app.get('/users', (req, res) => res.json([]));
app.post('/users', (req, res) => res.status(201).json({ ok: true }));
app.put('/users/:id', (req, res) => res.json({ id: req.params.id }));
app.delete('/users/:id', (req, res) => res.status(204).send());
Parámetros y query
app.get('/products/:id', (req, res) => {
const id = req.params.id;
const page = req.query.page || '1';
res.json({ id, page });
});
Router modular
const router = require('express').Router();
router.get('/', listUsers);
router.get('/:id', getUser);
app.use('/users', router);
Orden de rutas
Express evalúa rutas en orden de definición. Define rutas específicas antes que genéricas.
app.get('/users/new', (req, res) => res.send('Nuevo'));
app.get('/users/:id', (req, res) => res.send('ID ' + req.params.id));
Patrón REST
- GET /items → listar
- GET /items/:id → detalle
- POST /items → crear
- PUT /items/:id → actualizar
- DELETE /items/:id → eliminar