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