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.
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.