Lección 6 de 12 · Lectura y práctica
Errores, validacion y observabilidad
Respuesta rapida: Una API GraphQL profesional no devuelve errores improvisados. Define errores de validacion, permisos, no encontrado y fallas internas con mensajes utiles para frontend y logs suficientes para operaciones. Que.
Del concepto a la práctica
Taller de esta lección
Validar antes de acceder a datos evita basura y hace que el cliente reciba una causa accionable. La observabilidad debe permitir localizar la operación sin filtrar información sensible.
Ejemplo resuelto
enrollCourse(courseId: "") falla como entrada inválida antes del repositorio. courseId: "c-9" con usuario no inscrito previamente puede ser válido, pero una segunda inscripción produce un conflicto de negocio. Son situaciones diferentes aunque ambas impidan completar la mutation.
Registra errores de entrada, ausencia y duplicado como casos distintos. Puedes incluir códigos estables en errors[].extensions.code, por ejemplo BAD_USER_INPUT, NOT_FOUND o ALREADY_ENROLLED, definidos por tu API; esos códigos de negocio no son reglas universales de GraphQL. No traduzcas automáticamente cada error de resolver a un status HTTP distinto: la respuesta puede contener data parcial y errors con transporte HTTP exitoso. Protege los detalles internos.
Pruébalo
Define longitud y formato aceptables para
courseId.Clasifica vacío, inexistente y duplicado.
Asocia cada caso con un mensaje para UI.
Registra operación, duración y correlación.
Error frecuente: enviar el detalle de una excepción interna al navegador. Corrige mostrando un mensaje estable y dejando el detalle técnico en logs protegidos.
Comprueba tu resultado
Entrega una lista de tres entradas, su clasificación y acción de recuperación. Debe quedar claro qué caso permite corregir variables, cuál requiere elegir otro curso y cómo explicar el duplicado ya confirmado; añade un cuarto caso de fallo interno simulado.

Mapa de prácticaEl 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 ↗Fuentes para profundizar
Que vas a aprender
Una API GraphQL profesional no devuelve errores improvisados. Define errores de validacion, permisos, no encontrado y fallas internas con mensajes utiles para frontend y logs suficientes para operaciones.
Paso 1: practica profesional
Valida inputs antes de tocar la base de datos. Usa limites de longitud, formatos esperados, enums y reglas de negocio. La validacion reduce bugs, abuso y datos basura.
Paso 2: practica profesional
La observabilidad incluye logs estructurados, metricas de latencia, operaciones lentas y errores por resolver. Sin esto, GraphQL puede parecer una caja negra dificil de depurar.
Paso 3: practica profesional
Un buen entregable de portfolio incluye una captura de error bien manejado, no solo el caso feliz. Eso muestra madurez para trabajar en equipos reales.
Ejercicio practico para portfolio
Elegi una API de cursos, empleos o productos digitales y documenta como resolverias este problema con GraphQL y Apollo. Inclui el schema, una query, una mutation, manejo de errores y una nota sobre cache o permisos. El objetivo no es memorizar sintaxis: es demostrar criterio tecnico para una entrevista junior, freelance o equipo de producto.
- Entregable: captura del resultado, archivo con codigo y README breve.
- Checklist: nombres claros, datos tipados, errores explicitos y flujo reproducible.
- Conexion laboral: agregalo a tu portfolio y enlazalo desde LinkedIn o desde una propuesta del marketplace.
Cuando termines, continua con rutas de carreras, oportunidades de empleo digital y servicios publicados en el marketplace de Cursalo.
Sigue con GraphQL con Apollo para APIs modernas
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.