Hola, el profesor por error cuando fue a mostrar la directiva @skip en su lugar puso nuevamente la directiva @include
Introducción
Introducción al curso y prerequisitos del curso
¿Qué es GraphQL?
Conceptos básicos
Schema y types
Queries y Resolvers
Sirviendo el API en la web
Custom Types
Argumentos
Configuración de base de datos
Integrando una base de datos
Mutations e Inputs
Repaso - Creando el tipo Estudiante
Nested Types
Resolver de tipos
Errores
Conceptos avanzados
Alias y fragments
Variables
Enums
Interfaces - Tipo Monitor
Directivas
Unions
Consumiendo el API
Preparando API para producción
HTTP requests
Clientes de GraphQL
Consumiendo el API desde un frontend simple
Cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Las directivas son una instrucción que permite agregar condicionales a nuestras peticiones. Podemos modificar de manera dinámica nuestra query simplemente añadiendo:
@include(if: Boolean) {
datos
}
Aportes 10
Preguntas 1
Hola, el profesor por error cuando fue a mostrar la directiva @skip en su lugar puso nuevamente la directiva @include
Si quieren profundizar un poco mas en la documentación aquí les dejo el link a la misma.
Si el campo no es un bloque, no es necesario envolver en llaves
ejemplo:
query traerLasPersona($id: ID, $withEmail: Boolean!) {
getPerson(id: $id){
_id
email @include(if: $withEmail)
}
}
También podemos agregar una directiva al schema, por ejemlplo @deprecated
. Esta sirve para indicar que este campo ya NO estará en uso, incluso el mismo GraphQL te lo dice cuando ustas un campo con esta directiva.
query getPeopleData($monitor: Boolean!, $avatar: Boolean!){
getPeople {
_id
name
... on Monitor @include(if: $monitor) {
phone
}
... on Student @include(if: $avatar) {
avatar
email
}
}
}
{
"monitor": false,
"avatar": true
}
Si quieren profundizar un poco mas en la documentación aquí les dejo el link https://graphql.org/learn/
monitor es un type MONITOR ??? esto no es herencia
GRAPHIQL
query getPeopleData($monitor: Boolean!, $avatar: Boolean!) {
getPeople {
_id
name
email
... on Monitor @include(if: $monitor) {
phone
}
... on Student @skip(if: @avatar) {
avatar
}
}
}
QUERY VARIABLES
{
"monitor": true
"avatar": false
}
Wonderful!
muy interesante
Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.