A GraphQL egy hatékony lekérdezési nyelv, amely lehetővé teszi az ügyfelek számára, hogy csak a szükséges adatokat kérjék le a szerverről. Segít a kérés sebességének növelésében, mivel testreszabhatja a lekérdezéseket úgy, hogy csak meghatározott adatokat kérjen le.
A GraphQL két művelettípussal rendelkezik: lekérdezések és mutációk. Hasonlóságuk ellenére egészen más célokat szolgálnak.
A GraphQL lekérdezések és a mutációk közötti különbségek
A lekérdezések és a mutációk abban hasonlítanak, hogy kéréseket küldünk belőlük GraphQL API-k. Azonban különböznek a szintaxisban, a végrehajtási módban és a használatban.
A lekérdezések és mutációk szintaxisa
A GraphQL lekérdezések alapvető szintaxisa a következő:
lekérdezés getProduct($id: ID!) {
termék (azonosító: $id) {
név
ár
}
}
Íme, mit jelent ez a kód:
- A lekérdezés az a kulcsszó, amely a kérést lekérdezésként azonosítja.
- getProduct a művelet neve
- $id a változó
- ID! a változó típusa.
Ha nincs szüksége a változókra, hagyja ki őket, és a következőképpen határozza meg a lekérdezést:
lekérdezés getProducts {
Termékek {
név
ár
}
}
Bizonyos helyzetekben elhagyhatja a lekérdezés kulcsszóját és nevét, így GraphQL-lekérdezést írhat:
Termékek {
név
ár
}
Bár ez a formátum működik, a lekérdezési kulcsszó használata jobb az olvashatóság érdekében.
A mutációk szintaxisa hasonló a lekérdezésekhez, kivéve a mutációs kulcsszó használatát.
mutáció AddNewProduct ($név: Karakterlánc!, $ár: Szám!) {
addProduct (név: $név, ár: $ár) {
név
ár
}
}
Különböző végrehajtási módok
Egy másik különbség a lekérdezés és a mutáció között az, hogy a lekérdezések párhuzamosan futnak, míg a mutációk szinkronban futnak. Ha két mutációt futtatsz, azok egymás után fognak végrehajtani, sorrendben
Lekérdezések és mutációk kontrasztos felhasználásai
A lekérdezéseket csak READ műveletekhez használja. Például használjon lekérdezést, amikor termékeket kér le egy API-végpontról.
Használjon mutációkat a CREATE, UPDATE és DELETE műveletekhez. Ezek lényegében olyan műveletek, amelyek megváltoztatják az adatbázisban tárolt adatokat.
Például használjon mutációt az ügyfél nevének rendelési végponton keresztüli frissítésekor.
Szokjon rá a lekérdezések és mutációk megfelelő használatára
A GraphQL egy hatékony lekérdezési nyelv, amely lehetővé teszi, hogy csak a szükséges adatokat kérje le. A GraphQL-ben két műveletet hajthat végre: lekérdezéseket és mutációkat.
Ezek a műveletek szintaxisuk, végrehajtásuk és tervezett felhasználásuk tekintetében különböznek. A READ műveletekhez lekérdezéseket, a CREATE, UPDATE és DELETE műveletekhez pedig mutációkat kell használni.