GraphQL çok sayıda kaynak URL’sini tek bir uç nokta ve tipli bir şemayla değiştirir. İstemci ihtiyaç duyduğu verinin şeklini anlatan bir sorgu gönderir — bu kullanıcı, son üç siparişi, her siparişin toplamı — ve tam olarak o şekli geri alır. Yazma işlemleri mutation olarak aynı yolla gönderilir.
Sunucu her sorguyu çalıştırmadan önce şemasına göre doğrular, sonra her alanı belki farklı veri kaynaklarından çözer. İstekler genellikle sorguyu JSON gövdede taşıyan POST’lardır. Hatalar, çözülebilen veriyle birlikte bir errors dizisinde bildirilir ve HTTP isteğinin tamamı için durum genellikle 200’dür.
GraphQL’in HTTP durum kodlarının yerini aldığı sanılır. Kısmen başarısız bir sorgu da 200 döndüğü için yalnızca duruma bakan bir istemci alan düzeyindeki hataları tamamen kaçırır; errors dizisi her yanıtta incelenmelidir. Aynı esneklik tek bir sorgunun çok pahalı olabileceği anlamına da gelir; bu yüzden canlı sunucular derinliği ve karmaşıklığı sınırlar.
POST https://funapi.dev/graphql, Friends karakterleri üzerinde sorgu ve mutation çalıştırır; aynı adreste bir GraphiQL gezgini vardır. Friends API dokümantasyon sayfası da onu Try it out panelinde POST /graphql olarak çalıştırır.
Tüm sözlük maddeleri · Test teknikleri · 39 mock REST API’nin tamamı
Last updated