Lesere som deg er med på å støtte MUO. Når du foretar et kjøp ved å bruke lenker på nettstedet vårt, kan vi tjene en tilknyttet provisjon. Les mer.

GraphQL er et kraftig spørringsspråk som gjør det mulig for klienter å be om kun dataene de trenger fra en server. Det hjelper deg med å øke forespørselshastighetene siden du kan tilpasse spørringer til kun å hente spesifikke data.

GraphQL har to operasjonstyper: spørringer og mutasjoner. Til tross for likhetene deres, tjener de ganske forskjellige formål.

Forskjeller mellom GraphQL-spørringer og mutasjoner

Forespørsler og mutasjoner er like ved at du bruker dem til å gjøre forespørsler til GraphQL APIer. Imidlertid er de forskjellige i syntaks, utførelsesmodus og bruk.

Syntaksen for spørringer og mutasjoner

Den grunnleggende syntaksen for en GraphQL-spørring er som følger:

spørring getProduct($id: ID!) {
produkt (id: $id) {
Navn
pris
}
}

Her er hva denne koden står for:

  • query er nøkkelordet som identifiserer forespørselen som en forespørsel.
  • getProduct er operasjonsnavnet
  • $id er variabelen
  • ID! er variabeltypen.
instagram viewer

Hvis du ikke trenger variablene, utelat dem og definer spørringen slik:

spørring getProducts {
Produkter {
Navn
pris
}
}

I noen situasjoner kan du utelate søkeordet og navnet ved å skrive et GraphQL-søk slik:

Produkter {
Navn
pris
}

Selv om dette formatet fungerer, er det bedre å bruke søkeordet for lesbarheten.

Syntaksen til mutasjoner ligner på spørringer bortsett fra å bruke mutasjonsnøkkelordet.

mutasjon AddNewProduct ($name: String!, $price: Number!) { 
addProduct (navn: $navn, pris: $price) {
Navn
pris
}
}

Ulike utførelsesmoduser

En annen forskjell mellom en spørring og en mutasjon er at spørringer kjører parallelt mens mutasjoner kjører synkront. Når du kjører to mutasjoner, vil de utføre den ene etter den andre, i rekkefølge

Kontrasterende bruksområder for spørringer og mutasjoner

Du bør kun bruke spørringer for READ-operasjoner. Bruk for eksempel en spørring når du henter produkter fra et API-endepunkt.

Bruk mutasjoner for CREATE-, UPDATE- og DELETE-operasjoner. Dette er i hovedsak operasjoner som endrer dataene som er lagret i databasen.

Bruk for eksempel en mutasjon når du oppdaterer et kundenavn via et ordreendepunkt.

Få en vane med å bruke spørringer og mutasjoner på riktig måte

GraphQL er et kraftig spørringsspråk som lar deg be om bare dataene du trenger. Det er to operasjoner du kan utføre i GraphQL: spørringer og mutasjoner.

Disse operasjonene er forskjellige i syntaks, utførelse og tiltenkt bruk. Du bør bruke spørringer for READ-operasjoner og mutasjoner for CREATE-, UPDATE- og DELETE-operasjoner.