Kaltaisesi lukijat auttavat tukemaan MUO: ta. Kun teet ostoksen käyttämällä sivustollamme olevia linkkejä, voimme ansaita kumppanipalkkion. Lue lisää.

GraphQL on tehokas kyselykieli, jonka avulla asiakkaat voivat pyytää vain tarvitsemaansa dataa palvelimelta. Se auttaa sinua lisäämään pyyntöjen nopeuksia, koska voit mukauttaa kyselyitä hakemaan vain tiettyjä tietoja.

GraphQL: ssä on kaksi toimintatyyppiä: kyselyt ja mutaatiot. Samankaltaisuuksistaan ​​huolimatta ne palvelevat aivan erilaisia ​​tarkoituksia.

Erot GraphQL-kyselyiden ja mutaatioiden välillä

Kyselyt ja mutaatiot ovat samanlaisia ​​siinä mielessä, että käytät niitä pyyntöjen tekemiseen GraphQL API: t. Ne eroavat kuitenkin syntaksin, suoritustavan ja käytön suhteen.

Kyselyjen ja mutaatioiden syntaksi

GraphQL-kyselyn perussyntaksi on seuraava:

kysely getProduct($id: ID!) {
tuote (tunnus: $id) {
nimi
hinta
}
}

Tässä on mitä tämä koodi tarkoittaa:

  • kysely on avainsana, joka tunnistaa pyynnön kyselyksi.
  • getProduct on toiminnon nimi
  • $id on muuttuja
  • ID! on muuttujan tyyppi.
instagram viewer

Jos et tarvitse muuttujia, jätä ne pois ja määritä kysely seuraavasti:

kysely getProducts {
Tuotteet {
nimi
hinta
}
}

Joissakin tilanteissa voit jättää kyselyn avainsanan ja nimen pois kirjoittamalla GraphQL-kyselyn seuraavasti:

Tuotteet {
nimi
hinta
}

Vaikka tämä muoto toimii, kyselyn avainsanan käyttö on parempi luettavuuden kannalta.

Mutaatioiden syntaksi on samanlainen kuin kyselyissä, paitsi että käytetään mutaatioavainsanaa.

mutaatio AddNewProduct ($nimi: merkkijono!, $hinta: numero!) { 
addProduct (nimi: $nimi, hinta: $hinta) {
nimi
hinta
}
}

Erilaiset suoritustavat

Toinen ero kyselyn ja mutaation välillä on se, että kyselyt suoritetaan rinnakkain, kun taas mutaatiot synkronisesti. Kun suoritat kaksi mutaatiota, ne suoritetaan peräkkäin, järjestyksessä

Vastakkaiset käyttötavat kyselyille ja mutaatioille

Sinun tulisi käyttää kyselyitä vain READ-toimintoihin. Käytä kyselyä esimerkiksi, kun haet tuotteita API-päätepisteestä.

Käytä mutaatioita CREATE-, UPDATE- ja DELETE-toimintoihin. Nämä ovat pohjimmiltaan toimintoja, jotka muuttavat tietokantaan tallennettuja tietoja.

Käytä mutaatiota esimerkiksi, kun päivität asiakkaan nimen tilauspäätepisteen kautta.

Opi käyttämään kyselyitä ja mutaatioita asianmukaisesti

GraphQL on tehokas kyselykieli, jonka avulla voit pyytää vain tarvitsemasi tiedot. GraphQL: ssä voit suorittaa kaksi toimintoa: kyselyt ja mutaatiot.

Nämä toiminnot eroavat syntaksiltaan, suoritukseltaan ja käyttötarkoitukseltaan. Sinun tulisi käyttää kyselyitä READ-operaatioille ja mutaatioita CREATE-, UPDATE- ja DELETE-operaatioille.