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.
REST'te ile
Sayfalandırma, büyük veri kümelerini daha küçük, yönetilebilir sayfalara daraltıyor. REST'de Veri API'si oluşturucusu (DAB), anahtar kümesi sayfalandırması için sorgu parametresini kullanarak $after sıralı sonuçlar arasında kararlı ve verimli bir geçiş sağlar. Her belirteç, önceki sayfadan son kaydın konumunu işaretler ve sonraki isteğin bu noktadan devam etmesi için izin verir. Uzaklık sayfalandırmadan farklı olarak, anahtar kümesi sayfalandırması istekler arasında veri değiştiğinde eksik veya yinelenen satırları önler.
Bu belgenin GraphQL sürümüne gidin.
Hızlı bakış
| Konsept | Description |
|---|---|
$after |
Önceki istekten döndürülen opak devamlılık belirteci |
$first |
Sayfa başına getirilecek en fazla kayıt sayısı |
nextLink |
Sonraki sayfanın URL'si şunları içerir: $after |
Temel sayfalandırma
Bu örnekte ilk üç kitabı alıyoruz.
HTTP isteği
GET /api/books?$first=3
Kavramsal SQL
SELECT TOP (3)
id,
sku_title AS title
FROM dbo.books
ORDER BY id ASC;
Örnek yanıt
{
"value": [
{ "id": 1, "title": "Dune" },
{ "id": 2, "title": "Foundation" },
{ "id": 3, "title": "Hyperion" }
],
"nextLink": "/api/books?$first=3&$after=eyJpZCI6M30="
}
Uyarı
Yapılandırmada göreli nextLink bir yol varsanext-link-relative=true; değilse, mutlak bir URL'dir.
Ile devam etme $after
parametresi sonraki $after sayfa için devamlılık belirtecini belirtir. değeri, önceki sayfanın son kaydını temsil eden base64 kodlu bir dizedir.
Uyarı
$after son sayfanın nerede sona erdiğini tanımlayan opak bir belirteç taşır. Belirteçleri sabit olarak kabul edin ve hiçbir zaman bunları oluşturmayı veya değiştirmeyi denemeyin.
Bu örnekte, son sayfanın belirtecinin ardından sonraki üç kitabı alıyoruz.
HTTP isteği
GET /api/books?$first=3&$after=eyJpZCI6M30=
Kavramsal SQL
SELECT TOP (3)
id,
sku_title AS title
FROM dbo.books
WHERE id > 3
ORDER BY id ASC;
Örnek yanıt
{
"value": [
{ "id": 4, "title": "I, Robot" },
{ "id": 5, "title": "The Left Hand of Darkness" },
{ "id": 6, "title": "The Martian" }
],
"nextLink": "/api/books?$first=3&$after=eyJpZCI6Nn0="
}
Veri sonu
Olmadığında nextLink , getirilecek başka kayıt yoktur.
Son sayfa yanıtı yalnızca içermeyen nextLinkbir value dizi içerir.
Örnek yanıt
{
"value": [
{ "id": 7, "title": "Rendezvous with Rama" },
{ "id": 8, "title": "The Dispossessed" }
]
}
Uyarı
Herhangi bir şema veya sıralama değişikliği, daha önce verilen belirteçleri geçersiz kılır. İstemciler sayfalandırmayı ilk sayfadan yeniden başlatmalıdır.
Örnek yapılandırma
{
"runtime": {
"pagination": {
"default-page-size": 100,
"max-page-size": 100000
}
},
"entities": {
"Book": {
"source": {
"type": "table",
"object": "dbo.books"
},
"mappings": {
"sku_title": "title",
"sku_price": "price"
},
"relationships": {
"book_category": {
"cardinality": "one",
"target.entity": "Category",
"source.fields": [ "category_id" ],
"target.fields": [ "id" ]
}
}
},
"Category": {
"source": {
"type": "table",
"object": "dbo.categories"
},
"relationships": {
"category_books": {
"cardinality": "many",
"target.entity": "Book",
"source.fields": [ "id" ],
"target.fields": [ "category_id" ]
}
}
}
}
}
Ayrıca bakınız
| Konsept | REST | GraphQL | Amaç |
|---|---|---|---|
| Projection | $select | items | Döndürülecek alanları seçme |
| Filtering | $filter | filtre | Satırları koşula göre kısıtlama |
| Sıralama | $orderby | orderBy | Sıralama düzenini tanımlama |
| Sayfa Boyutu | $first | first | Sayfa başına öğe sayısını sınırlama |
| Devam | $after | sonra | İmleç kullanarak son sayfadan devam et |
Uyarı
REST anahtar sözcükleri, OData kurallarını izleyerek ile $başlar.