GraphQL nedir ?

Mikroservis mimarilerde bileşenlerin veri alışverişinde bulunması için REST API kullanımı oldukça popüler. REST kendi içinde bir dizi problem barındırıyor. REST ile kompleks sorgular yazmak oldukça zor.

GET /customer/?name=Bart&include=address,account&limit=10&offset=20

Müşterinin hangi detayda doldurulup getirileceği belirsiz.

b

Graphql nedir?

GraphQL bir RPC mekanizmasıdır. Veriye ihtiyacı olan istemciler, ihtiyacı olan veriyi belirli bir şema doğrultusunda tarif ederek isterler.

Merkezde önceden tanımlanmış keşfedilebilir, geçerlenebilir veri modeli vardır.

Önceki paragrafta verdiğimiz örnek aşağıdaki şekilde sağlanabilir.

{
 findCustomerByName (name:”Bart”,offset: 20, limit: 10){
         name
         surname
         addresses{
            street
            city

         }
         accounts{
            account_no
            balance

         }

   }

}

 

Ne avantajı var?

Bir sayfayı görüntülemek için birden fazla REST çağrısı yapmak oldukça sıradan bir durum. Oysa GraphQL ile tek istekte bunu başarmak mümkün.

c