TechLead

Construir una REST API

Diseña APIs robustas con validación, paginación, versionado y documentación

Diseño REST

Usa recursos, métodos HTTP correctos y códigos de estado consistentes.

GET /api/users
GET /api/users/:id
POST /api/users
PUT /api/users/:id
DELETE /api/users/:id

Validación de entradas

const { z } = require('zod');

const schema = z.object({
  name: z.string().min(2),
  email: z.string().email()
});

app.post('/users', (req, res) => {
  const parsed = schema.safeParse(req.body);
  if (!parsed.success) return res.status(400).json(parsed.error);
  res.status(201).json(parsed.data);
});

Paginación y filtros

app.get('/users', (req, res) => {
  const page = Number(req.query.page || 1);
  const limit = Number(req.query.limit || 20);
  res.json({ page, limit });
});

Documentación y versionado

  • • Versiona rutas: /api/v1
  • • Usa OpenAPI/Swagger
  • • Describe ejemplos y errores

💡 Checklist

  • ✓ CORS y rate limiting configurados
  • ✓ Logs y métricas básicas
  • ✓ Manejo de errores consistente