Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

GraphQL je výkonný dotazovací jazyk, který umožňuje klientům požadovat ze serveru pouze data, která potřebují. Pomáhá vám zvýšit rychlost požadavků, protože můžete přizpůsobit dotazy tak, aby načítaly pouze konkrétní data.

GraphQL má dva typy operací: dotazy a mutace. Navzdory jejich podobnosti slouží zcela odlišným účelům.

Rozdíly mezi dotazy GraphQL a mutacemi

Dotazy a mutace jsou podobné v tom, že je používáte k vytváření požadavků GraphQL API. Liší se však syntaxí, režimem provádění a použitím.

Syntaxe dotazů a mutací

Základní syntaxe dotazu GraphQL je následující:

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

Zde je to, co tento kód znamená:

  • dotaz je klíčové slovo, které identifikuje požadavek jako dotaz.
  • getProduct je název operace
  • $id je proměnná
  • ID! je typ proměnné.

Pokud proměnné nepotřebujete, vynechejte je a definujte dotaz takto:

dotaz getProducts {
produkty {
název
cena
}
}

V některých situacích můžete vynechat klíčové slovo a název dotazu a napsat dotaz GraphQL takto:

produkty {
název
cena
}

I když tento formát funguje, použití klíčového slova dotazu je lepší pro čitelnost.

Syntaxe mutací je podobná jako u dotazů s výjimkou použití klíčového slova mutace.

mutace AddNewProduct ($name: String!, $price: Number!) { 
addProduct (name: $name, price: $price) {
název
cena
}
}

Různé režimy provedení

Dalším rozdílem mezi dotazem a mutací je to, že dotazy běží paralelně, zatímco mutace běží synchronně. Když spustíte dvě mutace, provedou se jednu po druhé v daném pořadí

Kontrastní použití pro dotazy a mutace

Dotazy byste měli používat pouze pro operace READ. Například použijte dotaz při načítání produktů z koncového bodu API.

Použijte mutace pro operace CREATE, UPDATE a DELETE. Jedná se v podstatě o operace, které mění data uložená v databázi.

Například použijte mutaci při aktualizaci jména zákazníka prostřednictvím koncového bodu objednávky.

Zvykněte si vhodně používat dotazy a mutace

GraphQL je výkonný dotazovací jazyk, který vám umožňuje požadovat pouze ta data, která potřebujete. V GraphQL můžete provádět dvě operace: dotazy a mutace.

Tyto operace se liší syntaxí, prováděním a zamýšleným použitím. Měli byste používat dotazy pro operace READ a mutace pro operace CREATE, UPDATE a DELETE.