GraphQL este un limbaj de interogare puternic care permite clienților să solicite doar datele de care au nevoie de la un server. Vă ajută să creșteți vitezele de solicitare, deoarece puteți personaliza interogările pentru a obține doar date specifice.
GraphQL are două tipuri de operații: interogări și mutații. În ciuda asemănărilor lor, ele servesc unor scopuri destul de diferite.
Diferențele dintre interogări și mutații GraphQL
Interogările și mutațiile sunt similare prin aceea că le folosiți pentru a face cereri către API-urile GraphQL. Cu toate acestea, ele diferă în ceea ce privește sintaxă, modul de execuție și utilizare.
Sintaxa interogărilor și mutațiilor
Sintaxa de bază a unei interogări GraphQL este următoarea:
interogare getProduct($id: ID!) {
produs (id: $id) {
Nume
Preț
}
}
Iată ce înseamnă acest cod:
- interogare este cuvântul cheie care identifică cererea ca interogare.
- getProduct este numele operației
- $id este variabila
- ID! este tipul variabilului.
Dacă nu aveți nevoie de variabile, omiteți-le și definiți interogarea astfel:
interogați getProducts {
produse {
Nume
Preț
}
}
În unele situații, puteți omite cuvântul cheie și numele de interogare, scriind o interogare GraphQL astfel:
produse {
Nume
Preț
}
Deși acest format funcționează, utilizarea cuvântului cheie de interogare este mai bună pentru lizibilitate.
Sintaxa mutațiilor este similară cu interogările, cu excepția utilizării cuvântului cheie mutație.
mutație AddNewProduct ($name: String!, $price: Number!) {
addProduct (nume: $nume, preț: $preț) {
Nume
Preț
}
}
Diferite moduri de execuție
O altă diferență între o interogare și o mutație este că interogările rulează în paralel, în timp ce mutațiile rulează sincron. Când rulați două mutații, acestea se vor executa una după alta, în ordine
Utilizări contrastante pentru interogări și mutații
Ar trebui să utilizați interogări numai pentru operațiuni READ. De exemplu, utilizați o interogare atunci când preluați produse de la un punct final API.
Utilizați mutații pentru operațiunile CREATE, UPDATE și DELETE. Acestea sunt în esență operațiuni care modifică datele stocate în baza de date.
De exemplu, utilizați o mutație atunci când actualizați numele unui client printr-un punct final de comenzi.
Obișnuiește-te să folosești interogări și mutații în mod corespunzător
GraphQL este un limbaj de interogare puternic care vă permite să solicitați doar datele de care aveți nevoie. Există două operații pe care le puteți efectua în GraphQL: interogări și mutații.
Aceste operații diferă în ceea ce privește sintaxă, execuție și utilizările propuse. Ar trebui să utilizați interogări pentru operațiile READ și mutații pentru operațiunile CREATE, UPDATE și DELETE.