Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим комисионна за партньор. Прочетете още.

GraphQL е мощен език за заявки, който позволява на клиентите да изискват от сървър само данните, от които се нуждаят. Помага ви да увеличите скоростите на заявките, тъй като можете да персонализирате заявките да извличат само конкретни данни.

GraphQL има два типа операции: заявки и мутации. Въпреки приликите си, те служат за доста различни цели.

Разлики между GraphQL заявки и мутации

Заявките и мутациите са сходни по това, че ги използвате, за да правите заявки към API на GraphQL. Те обаче се различават по синтаксис, начин на изпълнение и използване.

Синтаксисът на заявките и мутациите

Основният синтаксис на GraphQL заявка е както следва:

query getProduct($id: ID!) {
продукт (id: $id) {
име
цена
}
}

Ето какво означава този код:

  • query е ключовата дума, която идентифицира заявката като заявка.
  • getProduct е името на операцията
  • $id е променливата
  • ДОКУМЕНТ ЗА САМОЛИЧНОСТ! е тип променлива.
instagram viewer

Ако не се нуждаете от променливите, пропуснете ги и дефинирайте заявката по следния начин:

query getProducts {
продукти {
име
цена
}
}

В някои ситуации можете да пропуснете ключовата дума и името на заявката, като напишете GraphQL заявка по следния начин:

продукти {
име
цена
}

Въпреки че този формат работи, използването на ключовата дума за заявка е по-добро за четимост.

Синтаксисът на мутациите е подобен на заявките, с изключение на използването на ключовата дума mutation.

мутация AddNewProduct ($name: String!, $price: Number!) { 
addProduct (име: $name, цена: $price) {
име
цена
}
}

Различни режими на изпълнение

Друга разлика между заявка и мутация е, че заявките се изпълняват паралелно, докато мутациите се изпълняват синхронно. Когато стартирате две мутации, те ще се изпълняват една след друга, в ред

Контрастни употреби за заявки и мутации

Трябва да използвате заявки само за операции READ. Например, използвайте заявка, когато извличате продукти от крайна точка на API.

Използвайте мутации за CREATE, UPDATE и DELETE операции. По същество това са операции, които променят данните, съхранявани в базата данни.

Например, използвайте мутация, когато актуализирате име на клиент чрез крайна точка за поръчки.

Създайте навика да използвате заявки и мутации по подходящ начин

GraphQL е мощен език за заявки, който ви позволява да изисквате само данните, от които се нуждаете. Има две операции, които можете да извършвате в GraphQL: заявки и мутации.

Тези операции се различават по синтаксис, изпълнение и предназначение. Трябва да използвате заявки за операции READ и мутации за операции CREATE, UPDATE и DELETE.