🔒 Registro cerrado · Apertura oficial próximamente · Acceso exclusivo para alumnos activos
Iniciar SesiónEl esquema como superficie expuesta
5 tareas · 35 min · Principiante
En una API de muchas rutas, la superficie se cuenta con la lista de rutas. En GraphQL hay una sola dirección y la superficie real es otra cosa: el esquema, que declara cada tipo, cada campo y cada operación que el servidor sabe resolver. Carretel, una plataforma de cine independiente a la carta, te entrega su esquema, el inventario de campos de su equipo de datos y lo que su portal de desarrolladores documenta. Se leen cruzados.
Objetivo de la sala
En una API de muchas rutas, la superficie se cuenta con la lista de rutas. En GraphQL hay una sola dirección y la superficie real es otra cosa: el esquema, que declara cada tipo, cada campo y cada operación que el servidor sabe resolver. Carretel, una plataforma de cine independiente a la carta, te entrega su esquema, el inventario de campos de su equipo de datos y lo que su portal de desarrolladores documenta. Se leen cruzados.Una API de rutas se inventaría recorriendo rutas: cada una tiene su método, sus parámetros y su respuesta, y el control de acceso se suele colgar de la ruta. Con GraphQL eso se mueve de sitio. El cliente envía su petición siempre a la misma dirección y describe dentro qué campos quiere; el servidor arma la respuesta recorriendo el esquema campo por campo. Quien audita ya no tiene una lista de rutas que revisar: tiene un grafo de tipos y relaciones.
Eso cambia tres cosas de la revisión. La primera, que el inventario de la superficie es el esquema, no la documentación ni las pantallas. La segunda, que un campo existe aunque ninguna pantalla lo pida: basta con que el esquema lo declare para que se pueda pedir. Y la tercera, que las comprobaciones de quién puede ver qué tienen que vivir donde se resuelve cada campo, porque no hay una ruta de la que colgarlas.
Responde para continuar
¿Qué es el inventario de la superficie expuesta de una API construida con GraphQL?
Ver pista de ayuda
Pregúntate qué puede resolver el servidor, no qué suele pedirle su propia aplicación.
Abre el laboratorio. En esquema.graphql está lo que el servidor sabe resolver; en inventario-campos.txt, la clasificación que hizo el equipo de datos y la pantalla donde se muestra cada campo. Busca en el tipo que describe a una persona el campo clasificado como personal al que no le corresponde ninguna pantalla.
Responde para continuar
¿Qué campo del tipo Perfil está clasificado como personal y no aparece en ninguna pantalla de la aplicación? Escríbelo tal como aparece en el esquema.
Ver pista de ayuda
Cuatro campos del perfil son personales; tres de ellos tienen una pantalla asignada.
Las consultas raíz son las puertas por las que se entra al grafo, y conviene leerlas de una en una preguntándose a quién describen sus argumentos. Hay dos que devuelven el mismo tipo de datos personales: una no recibe argumentos y la otra sí. Mira cuál de las dos deja elegir de quién son los datos.
Responde para continuar
¿Qué consulta raíz devuelve el perfil de la persona que se indique mediante un argumento? Escríbela tal como aparece en el esquema.
Ver pista de ayuda
Compara los argumentos de las dos consultas que devuelven ese tipo.
El portal de desarrolladores de Carretel lo mantiene a mano el equipo de alianzas; el esquema lo genera una herramienta a partir de los modelos de datos. Cuando dos inventarios se mantienen por caminos distintos, acaban diciendo cosas distintas, y el que manda es el que el servidor obedece. Cruza documentacion-publica.txt con las mutaciones del esquema.
Responde para continuar
¿Qué mutación existe en el esquema y no figura en el portal de desarrolladores? Escríbela tal como aparece en el esquema.
Ver pista de ayuda
El portal documenta tres mutaciones; el esquema declara cuatro.
El equipo pregunta por dónde empezar. Hay tres respuestas posibles y solo una ataca la causa de que aparezcan campos que nadie decidió exponer: que el esquema se genere solo, a partir de los modelos de datos, sin que nadie decida qué sale y qué no. Mientras eso siga así, cada columna nueva en la base de datos es un campo nuevo en la API.
Responde para continuar
¿Qué recomendación corrige de raíz que el esquema de Carretel exponga campos que nadie decidió exponer?
Ver pista de ayuda
La revisión periódica llega después del despliegue; la causa está en qué decide qué se publica.
Whoami-Labs Pro
Whoami-Labs Pro utiliza cookies
Utilizamos cookies y almacenamiento local para el funcionamiento del sitio, seguridad de sesión y, si lo autorizas, analítica y marketing. Puedes aceptar, rechazar o personalizar. Política de Privacidad
Preferencias
Configuraciones de cookies
Elige qué categorías permitir. Las esenciales siempre están activas. Consulta la Política de Privacidad.
Esenciales
Siempre activas · sesión, CSRF, tema y esta preferencia
Necesarias para iniciar sesión, proteger formularios (CSRF) y recordar tu elección de cookies y tema. Sin ellas la plataforma no funciona de forma segura.
Analíticos
Hoy no activos en la plataforma; listos para cuando se conecten
Nos ayudan a entender uso de cursos y páginas. Si los activas, se usarán cuando conectemos analítica; hasta entonces no se carga ningún tracker.
Marketing
Hoy no activos; campañas futuras solo con tu permiso
Comunicaciones o campañas. No activos hoy en la plataforma; quedarán listos si los conectamos y solo si los permites.