GraphQL, istemcilerin bir sunucudan yalnızca ihtiyaç duydukları verileri talep etmelerini sağlayan güçlü bir sorgulama dilidir. Sorguları yalnızca belirli verileri getirecek şekilde özelleştirebileceğiniz için istek hızlarını artırmanıza yardımcı olur.
GraphQL'in iki işlem türü vardır: sorgular ve mutasyonlar. Benzerliklerine rağmen oldukça farklı amaçlara hizmet ederler.
GraphQL Sorguları ve Mutasyonlar Arasındaki Farklar
Sorgular ve mutasyonlar benzerdir, onları istekte bulunmak için kullanırsınız. GraphQL API'leri. Ancak, sözdizimi, yürütme modu ve kullanım açısından farklılık gösterirler.
Sorguların ve Mutasyonların Söz Dizimi
Bir GraphQL sorgusunun temel sözdizimi aşağıdaki gibidir:
sorgu getProduct($id: Kimlik!) {
ürün (id: $id) {
isim
fiyat
}
}
İşte bu kodun anlamı:
- sorgu, isteği bir sorgu olarak tanımlayan anahtar kelimedir.
- getProduct işlem adıdır
- $id değişkendir
- İD! değişken türüdür.
Değişkenlere ihtiyacınız yoksa, onları atlayın ve sorguyu şu şekilde tanımlayın:
getProducts'ı sorgula {
ürünler {
isim
fiyat
}
}
Bazı durumlarda, şu şekilde bir GraphQL sorgusu yazarak sorgu anahtar sözcüğünü ve adını atlayabilirsiniz:
ürünler {
isim
fiyat
}
Bu biçim çalışırken, sorgu anahtar sözcüğünü kullanmak okunabilirlik açısından daha iyidir.
Mutasyonların sözdizimi, mutasyon anahtar kelimesinin kullanılması dışında sorgulara benzer.
mutasyon AddNewProduct ($name: String!, $price: Number!) {
addProduct (isim: $isim, fiyat: $fiyat) {
isim
fiyat
}
}
Farklı Yürütme Modları
Bir sorgu ile mutasyon arasındaki diğer bir fark, sorguların paralel olarak çalışması, mutasyonların ise eşzamanlı olarak çalışmasıdır. İki mutasyon çalıştırdığınızda, sırayla, birbiri ardına yürütülürler.
Sorgular ve Mutasyonlar için Zıt Kullanımlar
Sorguları yalnızca READ işlemleri için kullanmalısınız. Örneğin, bir API uç noktasından ürünleri getirirken bir sorgu kullanın.
CREATE, UPDATE ve DELETE işlemleri için mutasyonları kullanın. Bunlar temelde veritabanında depolanan verileri değiştiren işlemlerdir.
Örneğin, bir sipariş uç noktası aracılığıyla bir müşteri adını güncellerken bir mutasyon kullanın.
Sorguları ve Mutasyonları Uygun Şekilde Kullanma Alışkanlığı Edinin
GraphQL, yalnızca ihtiyacınız olan verileri talep etmenizi sağlayan güçlü bir sorgulama dilidir. GraphQL'de gerçekleştirebileceğiniz iki işlem vardır: sorgular ve mutasyonlar.
Bu işlemler sözdizimi, yürütme ve amaçlanan kullanımları bakımından farklılık gösterir. READ işlemleri için sorguları ve CREATE, UPDATE ve DELETE işlemleri için mutasyonları kullanmalısınız.