Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Variables

16/25
Recursos

Podemos utilizar variables dentro de las peticiones que hagamos a GraphQL simplemente definiéndolas con la siguiente sintaxis:

$nombre: tipo

Aportes 11

Preguntas 0

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

¡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. ?

Variables

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