¡Funcionan las variables en la consulta! 😃
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
Aún no tienes acceso a esta clase
Crea una cuenta y continúa viendo este curso
Podemos utilizar variables dentro de las peticiones que hagamos a GraphQL simplemente definiéndolas con la siguiente sintaxis:
$nombre: tipo
Aportes 11
Preguntas 0
¡Funcionan las variables en la consulta! 😃
en mi caso tuve un problema como esta
“message”: “Variable “$id” of type “ID” used in position expecting type “ID!”.”,
y el problema radicaba en que al momento de pasar los parámetros y no indicar que mi variable pueda ser opcional tengo que marcarla como requerida, espero les sirva a alguien
Me recordo a PHP esos $$$
Es más, incluso puedo manejar las variables con fragmentos al mismo tiempo:
Query
query infoCourse($course: ID!) {
course(id: $course) {
...courseFields
}
}
fragment courseFields on Course {
_id
title
description
people {
_id
name
}
}
Query Variables
{
"course" : "60983d5455d9b427067200bb"
}
Response
{
"data": {
"course": {
"_id": "60983d5455d9b427067200bb",
"title": "Mi titulo 4",
"description": "una descripcion",
"people": [
{
"_id": "60983f4961f3eb28d34942df",
"name": "Andrea"
}
]
}
}
}
Muy interesante la clase, también si quieren profundizar un poco con la documentación aquí pueden leer sobre las variables en GraphQL
Ya venia trabajando asi el proyecto sin querer. Un poquito adelantado.
Esas consultas de Alias, Fragments y Variables, no se implementarían en el código de la API, ya que el mismo Graphql lo permite?.
Osea que eso ya serían funciones que se pueden utilizar desde frontend o desde otra aplicación para reutilizar los querys y las mutaciones. ?
Podemos usar variables que harán a nuestras consultas más realistas y escalables:
mutation AddPersonToCourse($course: ID!, $person: ID!){
addPeople(courseID: $course, personID: $person){
_id
title
}
}
Las variables las debemos pasar como un JSON:
{
"course": "61664f8ded307fc554c71901",
"person": "6168f16a995ad2d4ee462d88"
}
Otro ejemplo:
query GetCourse($course: ID!) {
getCourse(id: $course) {
_id
title
people {
_id
name
}
}
}
Y el valor de la variable:
{
"course": "61664f8ded307fc554c71901"
}
Esto no funciona cuando pasamos las variables a la mutación usando un inpunt
Excelente
Muy interesante la clase, también si quieren profundizar un poco con la documentación aquí pueden leer sobre las variables en GraphQL
¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.