GraphQL yra galinga užklausų kalba, leidžianti klientams iš serverio prašyti tik jiems reikalingų duomenų. Tai padeda padidinti užklausų greitį, nes galite tinkinti užklausas, kad gautumėte tik konkrečius duomenis.
GraphQL turi du operacijų tipus: užklausas ir mutacijas. Nepaisant panašumų, jie atlieka gana skirtingus tikslus.
„GraphQL“ užklausų ir mutacijų skirtumai
Užklausos ir mutacijos yra panašios tuo, kad jas naudojate, kad pateiktumėte užklausas GraphQL API. Tačiau jie skiriasi sintaksė, vykdymo režimu ir naudojimu.
Užklausų ir mutacijų sintaksė
Pagrindinė GraphQL užklausos sintaksė yra tokia:
užklausa getProduct($id: ID!) {
produktas (id: $id) {
vardas
kaina
}
}
Štai ką reiškia šis kodas:
- užklausa yra raktinis žodis, identifikuojantis užklausą kaip užklausą.
- getProduct yra operacijos pavadinimas
- $id yra kintamasis
- ID! yra kintamasis tipas.
Jei jums nereikia kintamųjų, praleiskite juos ir apibrėžkite užklausą taip:
užklausa getProducts {
Produktai {
vardas
kaina
}
}
Kai kuriais atvejais galite praleisti užklausos raktinį žodį ir pavadinimą, rašydami GraphQL užklausą taip:
Produktai {
vardas
kaina
}
Nors šis formatas veikia, geriau skaityti užklausos raktinį žodį.
Mutacijų sintaksė yra panaši į užklausų, išskyrus mutacijos raktinio žodžio naudojimą.
mutacija AddNewProduct ($pavadinimas: eilutė!, $kaina: skaičius!) {
addProduct (pavadinimas: $name, kaina: $price) {
vardas
kaina
}
}
Įvairūs vykdymo režimai
Kitas skirtumas tarp užklausos ir mutacijos yra tas, kad užklausos vykdomos lygiagrečiai, o mutacijos sinchroniškai. Kai vykdote dvi mutacijas, jos bus vykdomos viena po kitos
Priešingas užklausų ir mutacijų naudojimas
Užklausas turėtumėte naudoti tik READ operacijoms. Pavyzdžiui, naudokite užklausą, kai gaunate produktus iš API galutinio taško.
Naudokite mutacijas CREATE, UPDATE ir DELETE operacijoms. Iš esmės tai yra operacijos, pakeičiančios duomenų bazėje saugomus duomenis.
Pavyzdžiui, naudokite mutaciją, kai atnaujinate kliento vardą per užsakymo galutinį tašką.
Įpraskite tinkamai naudoti užklausas ir mutacijas
GraphQL yra galinga užklausų kalba, leidžianti prašyti tik jums reikalingų duomenų. GraphQL galite atlikti dvi operacijas: užklausas ir mutacijas.
Šios operacijos skiriasi sintaksė, vykdymas ir jų paskirtis. Turėtumėte naudoti užklausas READ operacijoms ir mutacijas CREATE, UPDATE ir DELETE operacijoms.