TechLead

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