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