GraphQL je moćan upitni jezik koji klijentima omogućuje da od poslužitelja zatraže samo podatke koji su im potrebni. Pomaže vam povećati brzine zahtjeva jer možete prilagoditi upite da dohvate samo određene podatke.
GraphQL ima dvije vrste operacija: upite i mutacije. Unatoč sličnostima, služe sasvim različitim svrhama.
Razlike između GraphQL upita i mutacija
Upiti i mutacije su slični po tome što ih koristite za slanje zahtjeva GraphQL API-ji. Međutim, razlikuju se u sintaksi, načinu izvođenja i upotrebi.
Sintaksa upita i mutacija
Osnovna sintaksa GraphQL upita je sljedeća:
upit getProduct($id: ID!) {
proizvod (id: $id) {
Ime
cijena
}
}
Evo što ovaj kod znači:
- query je ključna riječ koja identificira zahtjev kao upit.
- getProduct je naziv operacije
- $id je varijabla
- ISKAZNICA! je tip varijable.
Ako ne trebate varijable, izostavite ih i definirajte upit ovako:
upit getProducts {
proizvodi {
Ime
cijena
}
}
U nekim situacijama možete izostaviti ključnu riječ i naziv upita, pišući GraphQL upit ovako:
proizvodi {
Ime
cijena
}
Iako ovaj format funkcionira, korištenje ključne riječi upit je bolje za čitljivost.
Sintaksa mutacija slična je upitima osim korištenja ključne riječi mutacija.
mutacija AddNewProduct ($name: String!, $price: Number!) {
addProduct (ime: $name, cijena: $price) {
Ime
cijena
}
}
Različiti načini izvršenja
Još jedna razlika između upita i mutacije je ta što se upiti izvode paralelno dok se mutacije izvode sinkrono. Kada pokrenete dvije mutacije, one će se izvršiti jedna za drugom, redom
Kontrastne upotrebe za upite i mutacije
Trebali biste koristiti upite samo za operacije READ. Na primjer, upotrijebite upit pri dohvaćanju proizvoda s API krajnje točke.
Koristite mutacije za operacije CREATE, UPDATE i DELETE. To su u biti operacije koje mijenjaju podatke pohranjene u bazi podataka.
Na primjer, upotrijebite mutaciju kada ažurirate ime kupca putem krajnje točke narudžbi.
Steknite naviku korištenja upita i mutacija na odgovarajući način
GraphQL je moćan upitni jezik koji vam omogućuje da tražite samo podatke koji su vam potrebni. Postoje dvije operacije koje možete izvesti u GraphQL-u: upiti i mutacije.
Ove se operacije razlikuju po sintaksi, izvršenju i namjeni. Trebali biste koristiti upite za operacije READ i mutacije za operacije CREATE, UPDATE i DELETE.