Lezers zoals jij steunen MUO. Wanneer u een aankoop doet via links op onze site, kunnen we een aangesloten commissie verdienen. Lees verder.

GraphQL is een krachtige querytaal waarmee klanten alleen de gegevens kunnen opvragen die ze nodig hebben van een server. Het helpt u de verzoeksnelheden te verhogen, omdat u query's kunt aanpassen om alleen specifieke gegevens op te halen.

GraphQL heeft twee bewerkingstypen: query's en mutaties. Ondanks hun overeenkomsten dienen ze heel verschillende doelen.

Verschillen tussen GraphQL-query's en mutaties

Query's en mutaties zijn vergelijkbaar, u gebruikt ze om verzoeken te doen GraphQL API's. Ze verschillen echter in syntaxis, uitvoeringsmodus en gebruik.

De syntaxis van vragen en mutaties

De basissyntaxis van een GraphQL-query is als volgt:

vraag getProduct($id: ID!) {
product (id: $id) {
naam
prijs
}
}

Dit is waar deze code voor staat:

  • query is het trefwoord dat het verzoek identificeert als een query.
  • getProduct is de bewerkingsnaam
  • $id is de variabele
  • ID KAART! is het variabele type.
instagram viewer

Als u de variabelen niet nodig hebt, laat ze dan weg en definieer de query als volgt:

vraag getProducts {
producten {
naam
prijs
}
}

In sommige situaties kunt u het trefwoord en de naam van de query weglaten door een GraphQL-query als volgt te schrijven:

producten {
naam
prijs
}

Hoewel deze indeling werkt, is het gebruik van het query-trefwoord beter voor de leesbaarheid.

De syntaxis van mutaties is vergelijkbaar met zoekopdrachten, behalve dat het mutatiesleutelwoord wordt gebruikt.

mutatie AddNewProduct ($name: String!, $price: Number!) { 
addProduct (naam: $naam, prijs: $prijs) {
naam
prijs
}
}

Verschillende uitvoeringsmodi

Een ander verschil tussen een query en een mutatie is dat queries parallel lopen terwijl mutaties synchroon lopen. Wanneer u twee mutaties uitvoert, worden ze achter elkaar uitgevoerd, in volgorde

Contrasterende toepassingen voor vragen en mutaties

Gebruik query's alleen voor LEES-bewerkingen. Gebruik bijvoorbeeld een query bij het ophalen van producten van een API-eindpunt.

Gebruik mutaties voor bewerkingen CREATE, UPDATE en DELETE. Dit zijn in wezen bewerkingen die de gegevens wijzigen die in de database zijn opgeslagen.

Gebruik bijvoorbeeld een mutatie bij het updaten van een klantnaam via een ordereindpunt.

Maak er een gewoonte van om vragen en mutaties op de juiste manier te gebruiken

GraphQL is een krachtige querytaal waarmee u alleen de gegevens kunt opvragen die u nodig heeft. Er zijn twee bewerkingen die u in GraphQL kunt uitvoeren: query's en mutaties.

Deze bewerkingen verschillen in syntaxis, uitvoering en het beoogde gebruik. U moet query's gebruiken voor READ-bewerkingen en mutaties voor CREATE-, UPDATE- en DELETE-bewerkingen.