Saltar al contenido

Lección 6 de 12 · Lectura y práctica

Validacion + errores: contrato estable para el frontend

Validacion y errores Tu API debe fallar de forma predecible. Valida inputs y devuelve errores consistentes. Conceptos clave Validar body/query Errores: code + message No filtrar stack traces al cliente Ejemplo Formato.

Del concepto a la práctica

Taller de esta lección

Validar en la frontera evita que un controlador reciba datos ambiguos. El contrato debe distinguir entrada inválida, falta de autenticación y recurso ausente mediante códigos estables, mientras el mensaje ayuda a corregir la petición.

Ejemplo resuelto

js
async function validarTitulo(req,res) {
const body = req.body;
if (!body || Array.isArray(body) || typeof body !== 'object' || typeof body.title !== 'string' || body.title.trim() === '') {
  return res.status(400).json({
    ok: false,
    error: { code: 'VALIDATION', message: 'title es obligatorio' }
  });
}

}

El cliente puede actuar sobre code aunque cambie el texto visible.

Monta express.json({limit:"64kb"}) antes de la ruta y maneja también JSON malformado como400. Prueba sin cuerpo, [], title:null, title:" " y el título válido: ninguno debe lanzar TypeError accidental. Para el título válido comprueba201 después de persistir, no solo después de validar; aplicar trim de forma coherente evita almacenar espacios como parte del nombre.

Pruébalo

  1. Define qué campos son obligatorios para crear un curso.

  2. Valida tipo y contenido antes de guardar.

  3. Devuelve la misma forma JSON en dos endpoints.

Error frecuente: devolver 500 por un dato que el cliente envió mal. Corrige usando 400 para validación y reserva 500 para fallos internos no esperados.

Ejercicio: prueba {} y { "title": "Node" }.

Comprueba tu resultado

el primer caso devuelve 400 con VALIDATION; el segundo pasa la validación si ese es el único campo obligatorio, sin incluir una traza.

Navegador, API y base de datos conectados por solicitudes, consultas y respuestas en sentidos opuestos.
CursaloMapa de práctica
Del navegador a los datos

El navegador envía una solicitud a la API. El servidor valida la operación y consulta los datos; después devuelve una respuesta que el navegador puede mostrar. La base de datos se comunica con el servidor y no directamente con el navegador.

Ver la infografía en tamaño completo ↗

Validacion y errores

Tu API debe fallar de forma predecible. Valida inputs y devuelve errores consistentes.

Conceptos clave

  • Validar body/query
  • Errores: code + message
  • No filtrar stack traces al cliente

Ejemplo

Formato recomendado: { ok: false, error: { code, message } }

Ejercicio

  • Define 3 codigos de error: VALIDATION, UNAUTHORIZED, NOT_FOUND.
  • Implementa respuestas consistentes en 2 endpoints.

Checklist de mastery

  • No hay endpoint sin validacion.
  • Errores consistentes para UI.

Sigue con Node.js y APIs con Express

Esta lección forma parte de un curso de Cursalo. Revisa su programa y elige entre la compra individual o el acceso a toda la escuela.

Si ya tenías acceso a este curso, entra con tu cuenta: tus derechos y tu progreso se conservan. No necesitas comprarlo de nuevo.

01 / ELEGIR UNA RUTA

El próximo paso

Aprende IA mientras construyes algo que sí necesitas.

Empieza por el curso inicial o explora el catálogo para encontrar una práctica alineada con tu trabajo.