GraphQL ir jaudīga vaicājumu valoda, kas ļauj klientiem pieprasīt no servera tikai tiem nepieciešamos datus. Tas palīdz palielināt pieprasījumu ātrumu, jo varat pielāgot vaicājumus, lai iegūtu tikai noteiktus datus.
GraphQL ir divi darbības veidi: vaicājumi un mutācijas. Neskatoties uz līdzību, tie kalpo diezgan atšķirīgiem mērķiem.
Atšķirības starp GraphQL vaicājumiem un mutācijām
Vaicājumi un mutācijas ir līdzīgi, jo jūs tos izmantojat, lai veiktu pieprasījumus GraphQL API. Tomēr tie atšķiras pēc sintakses, izpildes režīma un lietojuma.
Vaicājumu un mutāciju sintakse
GraphQL vaicājuma pamata sintakse ir šāda:
vaicājums getProduct($id: ID!) {
produkts (id: $id) {
nosaukums
cena
}
}
Lūk, ko šis kods apzīmē:
- vaicājums ir atslēgvārds, kas pieprasījumu identificē kā vaicājumu.
- getProduct ir darbības nosaukums
- $id ir mainīgais
- ID! ir mainīgais tips.
Ja jums nav nepieciešami mainīgie, izlaidiet tos un definējiet vaicājumu šādi:
vaicājums getProducts {
produkti {
nosaukums
cena
}
}
Dažās situācijās varat izlaist vaicājuma atslēgvārdu un nosaukumu, ierakstot GraphQL vaicājumu šādi:
produkti {
nosaukums
cena
}
Lai gan šis formāts darbojas, lasāmībai labāk ir izmantot vaicājuma atslēgvārdu.
Mutāciju sintakse ir līdzīga vaicājumiem, izņemot mutācijas atslēgvārda izmantošanu.
mutācija AddNewProduct ($nosaukums: virkne!, $cena: numurs!) {
addProduct (nosaukums: $name, cena: $price) {
nosaukums
cena
}
}
Dažādi izpildes režīmi
Vēl viena atšķirība starp vaicājumu un mutāciju ir tā, ka vaicājumi darbojas paralēli, bet mutācijas darbojas sinhroni. Palaižot divas mutācijas, tās tiks izpildītas viena pēc otras secībā
Kontrastējoši lietojumi vaicājumiem un mutācijām
Vaicājumus vajadzētu izmantot tikai READ darbībām. Piemēram, izmantojiet vaicājumu, ienesot produktus no API galapunkta.
Izmantojiet mutācijas operācijām CREATE, UPDATE un DELETE. Tās būtībā ir darbības, kas maina datubāzē saglabātos datus.
Piemēram, izmantojiet mutāciju, atjauninot klienta vārdu, izmantojot pasūtījuma galapunktu.
Iemācieties pareizi izmantot vaicājumus un mutācijas
GraphQL ir jaudīga vaicājumu valoda, kas ļauj pieprasīt tikai nepieciešamos datus. Programmā GraphQL varat veikt divas darbības: vaicājumus un mutācijas.
Šīs darbības atšķiras pēc sintakses, izpildes un paredzētā lietojuma. Izmantojiet vaicājumus READ operācijām un mutācijas darbībām CREATE, UPDATE un DELETE.