Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu. Čítaj viac.

GraphQL je výkonný dopytovací jazyk, ktorý umožňuje klientom požadovať zo servera iba tie údaje, ktoré potrebujú. Pomáha vám to zvýšiť rýchlosť požiadaviek, pretože môžete prispôsobiť dotazy tak, aby získavali iba konkrétne údaje.

GraphQL má dva typy operácií: dotazy a mutácie. Napriek ich podobnosti slúžia úplne iným účelom.

Rozdiely medzi dotazmi GraphQL a mutáciami

Dotazy a mutácie sú podobné v tom, že ich používate na zadávanie požiadaviek GraphQL API. Líšia sa však syntaxou, režimom vykonávania a používaním.

Syntax dotazov a mutácií

Základná syntax dotazu GraphQL je nasledovná:

dotaz getProduct($id: ID!) {
produkt (id: $id) {
názov
cena
}
}

Tu je to, čo tento kód znamená:

  • dotaz je kľúčové slovo, ktoré identifikuje požiadavku ako dopyt.
  • getProduct je názov operácie
  • $id je premenná
  • ID! je typ premennej.

Ak premenné nepotrebujete, vynechajte ich a definujte dotaz takto:

instagram viewer
dotaz getProducts {
Produkty {
názov
cena
}
}

V niektorých situáciách môžete kľúčové slovo a názov dopytu vynechať a napísať dotaz GraphQL takto:

Produkty {
názov
cena
}

Aj keď tento formát funguje, z hľadiska čitateľnosti je lepšie použiť kľúčové slovo dotaz.

Syntax mutácií je podobná dotazom s výnimkou použitia kľúčového slova mutácia.

mutácia AddNewProduct ($name: String!, $price: Number!) { 
addProduct (name: $name, price: $price) {
názov
cena
}
}

Rôzne režimy vykonávania

Ďalším rozdielom medzi dotazom a mutáciou je, že dotazy prebiehajú paralelne, zatiaľ čo mutácie prebiehajú synchrónne. Keď spustíte dve mutácie, vykonajú sa jedna po druhej, v poradí

Kontrastné použitie pre dotazy a mutácie

Dotazy by ste mali používať iba na operácie READ. Dotaz použite napríklad pri načítavaní produktov z koncového bodu API.

Použite mutácie pre operácie CREATE, UPDATE a DELETE. Ide v podstate o operácie, ktoré menia údaje uložené v databáze.

Napríklad použite mutáciu pri aktualizácii mena zákazníka prostredníctvom koncového bodu objednávky.

Zvyknite si vhodne používať dotazy a mutácie

GraphQL je výkonný dopytovací jazyk, ktorý vám umožňuje požadovať iba tie údaje, ktoré potrebujete. V GraphQL môžete vykonávať dve operácie: dotazy a mutácie.

Tieto operácie sa líšia v syntaxi, vykonávaní a zamýšľanom použití. Mali by ste použiť dotazy pre operácie READ a mutácie pre operácie CREATE, UPDATE a DELETE.