En aquest tema, aprendrem sobre les consultes en GraphQL, que són una de les operacions fonamentals per interactuar amb un servidor GraphQL. Les consultes permeten als clients sol·licitar dades específiques d'un servidor, definint exactament quina informació necessiten.
Conceptes Clau
- Definició de Consultes: Les consultes són operacions de lectura que permeten als clients obtenir dades del servidor.
- Sintaxi de Consultes: La sintaxi de les consultes en GraphQL és declarativa i permet especificar exactament quines dades es necessiten.
- Estructura de Consultes: Les consultes tenen una estructura jeràrquica que reflecteix la forma en què les dades estan relacionades.
- Arguments en Consultes: Les consultes poden acceptar arguments per filtrar o modificar les dades retornades.
- Variables en Consultes: Les variables permeten reutilitzar consultes amb diferents valors d'entrada.
Exemples Pràctics
Exemple 1: Consulta Bàsica
Suposem que tenim un servidor GraphQL que proporciona informació sobre llibres. Una consulta bàsica per obtenir el títol i l'autor de tots els llibres seria:
Explicació:
{ books { title author } }
: Aquesta consulta demana al servidor la llista de llibres (books
) i especifica que només vol el títol (title
) i l'autor (author
) de cada llibre.
Exemple 2: Consulta amb Arguments
Podem afegir arguments a les consultes per filtrar els resultats. Per exemple, per obtenir informació sobre un llibre específic pel seu ID:
Explicació:
book(id: "1")
: Aquesta part de la consulta demana informació sobre un llibre amb l'ID "1".{ title author publishedYear }
: Especifica que vol el títol, l'autor i l'any de publicació del llibre.
Exemple 3: Consulta amb Variables
Les variables permeten reutilitzar consultes amb diferents valors d'entrada. Aquí teniu un exemple de com utilitzar variables en una consulta:
I la manera de passar les variables seria:
Explicació:
query GetBook($bookId: ID!)
: Defineix una consulta anomenadaGetBook
que accepta una variablebookId
de tipusID
.book(id: $bookId)
: Utilitza la variablebookId
per obtenir informació sobre el llibre.{ title author publishedYear }
: Especifica que vol el títol, l'autor i l'any de publicació del llibre.
Exercicis Pràctics
Exercici 1: Consulta Bàsica
Escriu una consulta per obtenir el nom i l'edat de tots els usuaris.
Exercici 2: Consulta amb Arguments
Escriu una consulta per obtenir informació sobre un usuari específic pel seu ID, incloent el nom, l'edat i el correu electrònic.
Exercici 3: Consulta amb Variables
Escriu una consulta que accepti una variable userId
i utilitza-la per obtenir informació sobre un usuari, incloent el nom, l'edat i el correu electrònic.
I la manera de passar les variables seria:
Errors Comuns i Consells
- Oblidar especificar els camps: En GraphQL, has de ser explícit sobre quins camps vols. Si no especifiques els camps, no obtindràs cap dada.
- Arguments incorrectes: Assegura't que els arguments que passes a les consultes són correctes i coincideixen amb els esperats pel servidor.
- Variables no definides: Quan utilitzes variables, assegura't de definir-les correctament en la consulta i de passar els valors adequats.
Resum
En aquesta secció, hem après sobre les consultes en GraphQL, incloent la seva definició, sintaxi, estructura, i com utilitzar arguments i variables. Hem vist exemples pràctics i hem realitzat exercicis per reforçar els conceptes apresos. Ara estem preparats per avançar cap a les mutacions en el següent tema.
Curs de GraphQL
Mòdul 1: Introducció a GraphQL
- Què és GraphQL?
- GraphQL vs REST
- Configuració d'un servidor GraphQL
- Conceptes bàsics de l'esquema de GraphQL
Mòdul 2: Conceptes bàsics
Mòdul 3: Disseny avançat d'esquemes
Mòdul 4: Treballant amb dades
- Connexió a una base de dades
- Estratègies de recuperació de dades
- Agrupació i emmagatzematge en memòria cau
- Gestió d'errors
Mòdul 5: Rendiment i seguretat
Mòdul 6: Eines i ecosistema
Mòdul 7: Proves i desplegament
- Proves unitàries de resolvers
- Proves d'integració
- Integració contínua
- Desplegament de servidors GraphQL