GraphQL Sorgu Oluşturucu
GraphQL operasyonunu elle yazmak, süslü parantezleri, argümanları ve girintileri düzenli tutmayı gerektirir. Bu oluşturucu belgeyi sizin için bir araya getirir: sorgu, mutasyon veya abonelik seçin, operasyona ad verin, kök alanı belirleyin, argüman ekleyin ve ihtiyacınız olan alanları listeleyin. Sonuç, doğrudan Apollo, urql veya GraphiQL’e yapıştırabileceğiniz biçimlendirilmiş bir operasyondur.
GraphQL operasyonu nasıl oluşturulur?
-
1
Operasyon türünü seçin
Açılır listeden sorgu, mutasyon veya abonelik seçin. Bu, sunucunun çalıştıracağı operasyon türünü belirler.
-
2
Operasyona ad verin
Sunucunun operasyonu kaydedip önbelleğe alabilmesi için GetUser gibi bir ad verin. Ad isteğe bağlıdır; oluşturucu adsız da çalışır.
-
3
Kök alanı belirleyin
Çağırmak istediğiniz alanı yazın, örneğin user, createPost veya orderUpdated.
-
4
Argüman ekleyin
id: "123" veya id: $id gibi anahtar-değer çiftleri ekleyin. Anahtarı boş olan satırlar atlanır.
-
5
Alanları listeleyin ve kopyalayın
Her satıra bir alan yazın, sorguyu oluşturun ve biçimlendirilmiş belgeyi panoya kopyalayın.
GraphQL belgeleriyle çalışmak
Bir GraphQL belgesi, bir veya daha fazla işlem ile bu işlemlerin referans ettiği tüm parçaların bir araya gelmesinden oluşur. Her işlem, Query, Mutation veya Subscription türünden bir kök alanını belirtir ve sunucu istenen seçim kümesini çözer. Oluşturucu operasyon metnini sizin için yazar, ancak şemanızı bilmez; bu yüzden operasyonu çalıştırmadan önce her alan ve argüman adını API’nizle karşılaştırın.
Operasyonun yapısı
| Bölüm | Amacı | Örnek |
|---|---|---|
| Operasyon türü | Sorgu, mutasyon veya abonelik | query, mutation, subscription |
| Operasyon adı | Önbelleğe alma ve günlükler için kullanılır | GetUserById |
| Argümanlar | Kök alana iletilen değerler | user(id: "123") |
| Seçim kümesi | Alanlar ve iç içe seçmeler | { user(id: "123") { name posts { title } } } |
| Değişkenler | Operasyon adıyla birlikte bildirilen tipli girdiler | query GetUser($id: ID!) { user(id: $id) { name } } |
Sık yapılan hatalar
- Zorunlu değişkenler
!ile biter. ŞemadaNonNullolarak işaretlenen argümanlarda bunu unutmak, çözücü çalışmadan önce doğrulama hatasına yol açar. - Metin argümanları tırnak gerektirir.
123gibi bir değer sayıdır; metin değeri argüman satırında çift tırnakla"123"biçiminde yazılmalıdır. - Birleşim ve arayüz türleri, türe özgü alanları okumak için
... on TypeNameiçsel parçalarını gerektirir. - Takma ad (alias), aynı alanı farklı argümanlarla iki kez istediğinizde zorunludur; örneğin
today: stats(period: DAY)veweek: stats(period: WEEK). - Bağlantılar (Relay spesifikasyonu)
edges { node { ... } }vepageInfo { endCursor hasNextPage }alanlarını açar; ikisinden birini atlamak sayfalamayı bozar.
İpuçları
- Apollo Client’in operasyonları ayrı ayrı önbelleğe alabilmesi için operasyonları küçük tutun ve adlandırın.
- Değişen değerleri değişmezler yerine değişken olarak iletin; böylece sunucu belgeyi bir kez ayrıştırıp yeniden kullanır. Değişkenleri operasyon adının yanında bildirin, örneğin
query GetUser($id: ID!). - Bir alan birden çok argüman gerektiriyorsa bunları tek bir argüman satırına virgülle ayırarak yazın, örneğin değer olarak
filter: { status: ACTIVE }. - Oluşturucu, yapılandırdığınız metni aynen üretir. Bir operasyon başarısız olursa önce alan adlarınızı güncel şemayla karşılaştırın.
Sık Sorulan Sorular
Hayır. Yalnızca girdiğiniz metni biçimlendirir; çağrılacak bir uç nokta yoktur ve şema gerekmez. Operasyonun bölümlerini doldurun, oluşturucu belgeyi sizin için bir araya getirsin.
Evet. Operasyon açılır listesinden sorgu, mutasyon ve abonelik arasında geçiş yapabilirsiniz. Geri kalan her şey aynı çalışır: ad, kök alan, argümanlar ve alanlar.
Argüman bölümüne satırlar ekleyin. Anahtar, argüman adıdır; değer de ilettiğiniz şeydir, örneğin id: “123” veya id: $id. Anahtarı boş olan satırlar yok sayılır. $id gibi bir değişken yazdıysanız, kendiniz operasyon adının yanında bildirin, örneğin query GetUser($id: ID!).
Oluşturucu, yazdığınız metni aynen üretir. Bu hata genellikle bir alan veya argüman adının sunucu şemanızla eşleşmediği anlamına gelir: kök alanı ve her alan adını API’nizle karşılaştırın ve yazımı düzeltin.
İlgili Araçlar
FPS Sayacı
requestAnimationFrame ile tarayıcı FPS değerini ölçün: yumuşatma, en düşük ve en yüksek kare hızı, uyarı eşiği ve isteğe bağlı grafik. Yerel çalışır, yükleme ve API yoktur.
Dosya Boyutu Dönüştürücü
Bayt, KB, MB, GB, TB ve ikili IEC birimleri (KiB, MiB, GiB, TiB) arasında, ondalık ve ikiliyi dilediğiniz gibi birleştirerek dönüşüm yapın.
Telefon numarası doğrulayıcı
Telefon numarasının ülkeye göre yapısını denetleyin; bölge, tür, E.164, uluslararası, ulusal ve RFC 3966 biçimlerini görün.
Kurgusal telefon numarası oluşturucu
Beş ülkede resmen ayrılmış aralıklardan 50 adede kadar kurgusal numara üretin.
Webpack Yapılandırma Oluşturucu
Kısa bir formdan webpack 5 için bir webpack.config.js oluşturun: entry, çıkış klasörü ve modu ayarlayın; ardından TypeScript, Babel, bir CSS yükleyici, HtmlWebpackPlugin ve bir dev sunucu açın.
Rastgele adres oluşturucu
Arayüz maketleri ve testler için üç basitleştirilmiş biçimde 1–20 adres benzeri kayıt oluşturun.
Araç diğer dillerde mevcuttur
- GraphQL-querybouwer [NL]
- Trình tạo truy vấn GraphQL [VI]
- GraphQL 쿼리 빌더 [KO]
- GraphQL-Abfrage-Builder [DE]
- Kreator zapytań GraphQL [PL]
- Construtor de Consultas GraphQL [PT]
- GraphQLクエリビルダー [JA]
- Constructeur de requêtes GraphQL [FR]
- เครื่องสร้าง GraphQL Query [TH]
- Pembuat Kueri GraphQL [ID]
- أداة إنشاء استعلامات GraphQL [AR]
- GraphQL-frågebyggare [SV]
- Constructor de Consultas GraphQL [ES]
- GraphQL Query Builder [EN]
- Costruttore di Query GraphQL [IT]
- Построитель запросов GraphQL [RU]
- GraphQL查询构建器 [ZH]