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.
SAYFA boyutunu REST içinde ile
Sayfa boyutunu sınırlamak, büyük veri kümelerini sorgularken istemcilerin veya sunucuların aşırı olmasını önler. REST'de, Veri API'si oluşturucusu (DAB), tek bir yanıtta kaç kaydın $first döndürülür denetlemek için parametresini kullanır. DAB, imleç tabanlı sayfalandırmayı dahili olarak uygular, ancak $first devamlılık gerekmediğinde bile kullanılabilir.
Uyarı
$first döndürülen satır sayısını sınırlar, ancak devamlılığı kendisi işlemez. Birden çok sayfa için kullanın $after.
Bu belgenin GraphQL sürümüne gidin.
Genel Bakış
| Konsept | Description |
|---|---|
| Varsayılan sayfa boyutu |
runtime.pagination.default-page-size (varsayılan değer 100'dır) |
| En büyük sayfa boyutu |
runtime.pagination.max-page-size (varsayılan değer: 100000) |
| İstemci geçersiz kılma | $first |
| Maksimum istekte bulunma |
$first=-1 yapılandırılan en büyük sayfa boyutunu iste |
Atlanırsa $first , varsayılan sayfa boyutu otomatik olarak uygulanır.
Kullanım düzeni
GET /api/{entity}?$first=N
Example
Sonuçları beş kitapla sınırlayın.
GET /api/books?$first=5
Kavramsal SQL
SELECT TOP (5)
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" },
{ "id": 4, "title": "I, Robot" },
{ "id": 5, "title": "The Martian" }
]
}
Doğrulama kuralları
| Veri Girişi | Result |
|---|---|
| Atla | Kullanır default-page-size |
| Pozitif tamsayı ≤ maksimum | Kabul edildi |
-1 |
Genişletilmiş: max-page-size |
0 |
400 (geçersiz) |
< -1 |
400 |
> max-page-size |
400 |
Örnek hata iletisi
Invalid number of items requested, first argument must be either -1 or a positive number within the max page size limit of 100000. Actual value: 0
Ö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.