Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Omezení velikosti stránky v
Omezení velikosti stránky brání zahlcení klientů nebo serverů při dotazování velkých datových sad. Tvůrce rozhraní DATA API (DAB) v GraphQL používá first argument k řízení počtu vrácených záznamů v jedné odpovědi. Jazyk DAB interně používá stránkování na základě kurzoru, ale first dá se použít nezávisle na tom, aby se velikost výsledku jednoduše chystala.
Poznámka:
first omezuje počet vrácených záznamů, ale nezpracuje pokračování. Pro více stránek použijte after.
Přejděte do verze REST tohoto dokumentu.
Přehled
| Koncepce | Description |
|---|---|
| Výchozí velikost stránky |
runtime.pagination.default-page-size (výchozí hodnota je 100) |
| Maximální velikost stránky |
runtime.pagination.max-page-size (výchozí hodnota je 1 00000) |
| Přepsání klienta | first |
| Požadavek na maximum | Předání -1 žádosti o nakonfigurovanou maximální velikost stránky |
Pokud first tuto hodnotu vynecháte, použije se výchozí velikost stránky automaticky.
Vzor použití
query {
books(first: N) {
items { id title }
}
}
Example
Omezte výsledky na pět knih.
query {
books(first: 5) {
items {
id
title
}
}
}
Koncepční SQL
SELECT TOP (5)
id,
sku_title AS title
FROM dbo.books
ORDER BY id ASC;
Ukázková odpověď
{
"data": {
"books": {
"items": [
{ "id": 1, "title": "Dune" },
{ "id": 2, "title": "Foundation" },
{ "id": 3, "title": "Hyperion" },
{ "id": 4, "title": "I, Robot" },
{ "id": 5, "title": "The Martian" }
]
}
}
}
Pravidla ověřování
| Vstup | Result |
|---|---|
| Vynechal | Používá default-page-size |
| Kladné celé číslo ≤ max | Přijato |
-1 |
Rozbalené na max-page-size |
0 |
Chyba (neplatná) |
< -1 |
Error |
> max-page-size |
Error |
Příklad chybové zprávy
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
Příklad konfigurace
{
"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" ]
}
}
}
}
}
Viz také
| Koncepce | REST | GraphQL | Účel |
|---|---|---|---|
| Projection | $select | items | Výběr polí, která se mají vrátit |
| Filtering | $filter | filtr | Omezení řádků podle podmínky |
| Řazení | $orderby | orderBy | Definování pořadí řazení |
| Velikost stránky | $first | first | Omezení počtu položek na stránku |
| Pokračování | $after | po | Pokračovat z poslední stránky pomocí kurzoru |
Poznámka:
Klíčová slova REST začínají následujícími konvencemi $OData.