Saltar al contenido

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

Schema, types, queries y mutations

Respuesta rapida: El schema de GraphQL define que datos existen, que operaciones se pueden ejecutar y que forma tiene cada respuesta. Es el contrato que alinea frontend, backend y QA. Que vas a aprender El schema de GraphQL.

Del concepto a la práctica

Taller de esta lección

El schema debe expresar el lenguaje del negocio y distinguir lectura de cambio de estado. Un nombre preciso también ayuda a QA a saber qué comportamiento verificar.

Ejemplo resuelto

Para una inscripción mínima:

graphql
type Course { id: ID!, title: String!, seats: Int!, enrolled: Boolean! }
enum EnrollmentStatus { ACTIVE }
type Enrollment { id: ID!, courseId: ID!, status: EnrollmentStatus!, course: Course! }
type Query { course(id: ID!): Course }
type Mutation { enrollCourse(courseId: ID!): Enrollment! }

course consulta; enrollCourse modifica una relación y devuelve su estado.

Una operación con variables es mutation Enroll($id: ID!) { enrollCourse(courseId: $id) { id status course { id enrolled } } }, con variables {"id":"c1"}. El tipo ID! rechaza null, pero por sí solo no prohíbe la cadena vacía: valida el formato en el dominio. Una salida no nula que falla propaga null hasta el ancestro nullable; aquí un error no recuperado de la mutation puede dejar data: null.

Pruébalo

  1. Añade published: Boolean! a Course.

  2. Define courses: [Course!]!.

  3. Escribe variables para enrollCourse.

  4. Explica qué operación privada de progreso debe rechazar un usuario no inscrito, y cuál admite la primera inscripción.

Error frecuente: llamar saveData a toda mutation. Corrige usando un verbo y una entidad del dominio.

Comprueba tu resultado

Tu schema debe contener exactamente una query de detalle, una lista y una mutation de inscripción. Verifica que los campos obligatorios no acepten null y que las variables tengan tipo declarado.

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 ↗
Fuentes para profundizar
Respuesta rapida: El schema de GraphQL define que datos existen, que operaciones se pueden ejecutar y que forma tiene cada respuesta. Es el contrato que alinea frontend, backend y QA.

Que vas a aprender

El schema de GraphQL define que datos existen, que operaciones se pueden ejecutar y que forma tiene cada respuesta. Es el contrato que alinea frontend, backend y QA.

Paso 1: practica profesional

Los types representan entidades del dominio, por ejemplo Course, Lesson, User o Enrollment. Las queries leen informacion; las mutations cambian estado; los inputs ordenan parametros de escritura.

Paso 2: practica profesional

Un buen schema evita nombres genericos como data o item y usa lenguaje del negocio. Si la plataforma vende cursos, las operaciones deben parecerse a enrollCourse, publishCourse o listCareerCourses.

Paso 3: practica profesional

El error comun es copiar una base de datos como schema publico. Un schema profesional protege detalles internos, expresa permisos y entrega datos pensados para casos de uso 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.

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.