Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Veri API oluşturucusu'ndaki (DAB) GraphQL uç noktaları, verileri hassas bir şekilde sorgulamanıza ve değiştirmenize olanak tanır. Her sorgu tam olarak hangi alanlara ihtiyacınız olduğunu bildirir ve sonuçları filtreleme, sıralama ve sayfalama için bağımsız değişkenleri destekler.
VARSAYıLAN olarak DAB, GraphQL uç noktasını şu konumda barındırmaktadır:
https://{base_url}/graphql
Yapılandırma aracılığıyla kullanıma sunulan varlıklar otomatik olarak GraphQL şemasına eklenir.
Örneğin, books ve authors varlıklarınız varsa, her ikisi de şemada kök alanlar olarak görünür.
Uyarı
Şemayı ve otomatik tamamlama alanlarını keşfetmek için herhangi bir modern GraphQL istemcisini veya IDE'yi (Apollo, Uykusuzluk veya VS Code GraphQL gibi) kullanın.
Veri API'si oluşturucusunda desteklenen anahtar sözcükler
| Konsept | GraphQL | Amaç |
|---|---|---|
| Projection | items | Hangi alanların döndürüleceğini seçin |
| Filtering | filtre | Koşula bağlı olarak satırları kısıtlama |
| Sıralama | orderBy | Sıralama düzenini tanımlama |
| Sayfa Boyutu | first | Sayfa başına öğeleri sınırlama |
| Devam | sonra | Son sayfadan devam et |
Temel yapı
Her GraphQL sorgusu bir varlığı temsil eden bir kök alanla başlar.
{
books {
items {
id
title
price
}
}
}
Sonuç, seçim kümenizle aynı şekle sahip bir JSON nesnesidir:
{
"data": {
"books": {
"items": [
{ "id": 1, "title": "Dune", "price": 20 },
{ "id": 2, "title": "Foundation", "price": 18 }
]
}
}
}
Uyarı
Varsayılan olarak DAB, aksiruntime.pagination.default-page-size () yapılandırılmadığı sürece sorgu başına en fazla 100 öğe döndürür.
Sorgu türleri
Her varlık iki standart kök sorgu destekler:
| Query | Açıklama |
|---|---|
entity_by_pk |
Birincil anahtarına göre bir kayıt döndürür |
entities |
Filtrelerle eşleşen kayıtların listesini döndürür |
Bir kayıt döndüren örnek:
{
book_by_pk(id: 1010) {
title
year
}
}
Birçok değer döndüren örnek:
{
books {
items {
id
title
}
}
}
Sonuçları filtreleme
Döndürülecek kayıtları kısıtlamak için filter bağımsız değişkenini kullanın.
{
books(filter: { title: { contains: "Foundation" } }) {
items { id title }
}
}
Bu sorgu, başlığı "Foundation" olan tüm kitapları döndürür.
Filtreler karşılaştırmaları mantıksal işleçlerle birleştirebilir:
{
authors(filter: {
or: [
{ first_name: { eq: "Isaac" } }
{ last_name: { eq: "Asimov" } }
]
}) {
items { first_name last_name }
}
}
Desteklenen işleçler olan eq, neq, lt, lte ve isNull için filtre bağımsız değişkeni başvurusuna bakın.
Sonuçları sıralama
orderBy bağımsız değişkeni kayıtların nasıl sıralanacağını tanımlar.
{
books(orderBy: { year: DESC, title: ASC }) {
items { id title year }
}
}
Bu, önce azalan düzende year ile ve ardından title ile sıralanmış kitapları geri döndürür.
Daha fazla ayrıntı için orderBy argümanına referans bakın.
Sonuçları sınırlama
Argüman, first tek bir istekte kaç kaydın döndürüleceğini sınırlandırır.
{
books(first: 5) {
items { id title }
}
}
Bu, varsayılan olarak birincil anahtara göre sıralanmış ilk beş kitabı döndürür.
Yapılandırılan en büyük sayfa boyutunu istemek için de kullanabilirsiniz first: -1 .
İlk bağımsız değişken referansında daha fazla bilgi edinin.
Devam eden sonuçlar
Sonraki sayfayı getirmek için, önceki sorgudaki imleçle after bağımsız değişkenini kullanın.
{
books(first: 5, after: "eyJpZCI6NX0=") {
items { id title }
}
}
Belirteç, after önceki sayfanın sona erdiği yeri işaretler.
Daha fazla ayrıntı için bkz. bağımsız değişken başvurusu sonrası .
Alan seçimi (projeksiyon)
GraphQL'de yanıtta tam olarak hangi alanların görüneceğini seçersiniz.
SELECT * gibi bir joker karakter yoktur. Yalnızca ihtiyacınız olanı isteyin.
{
books {
items { id title price }
}
}
Yanıttaki alanları yeniden adlandırmak için diğer adları da kullanabilirsiniz:
{
books {
items {
bookTitle: title
cost: price
}
}
}
Ayrıntılar için Bakınız, alan projeksiyonu referansı.