Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Limitazione delle dimensioni della pagina con
La limitazione delle dimensioni della pagina impedisce il sovraccarico di client o server durante l'esecuzione di query su set di dati di grandi dimensioni. In GraphQL il generatore di API dati (DAB) usa l'argomento first per controllare il numero di record restituiti in una singola risposta. DAB applica internamente la paginazione basata su cursore, ma first può essere usata in modo indipendente per limitare semplicemente le dimensioni dei risultati.
Annotazioni
first limita il numero di record restituiti, ma non gestisce la continuazione. Per più pagine, usare after.
Passare alla versione REST di questo documento.
Informazioni generali
| Concetto | Description |
|---|---|
| Dimensioni pagina predefinite |
runtime.pagination.default-page-size (il valore predefinito è 100) |
| Dimensioni massime pagina |
runtime.pagination.max-page-size (il valore predefinito è 100000) |
| Override del client | first |
| Richiesta max | Passare -1 per richiedere le dimensioni massime della pagina configurate |
Se first viene omesso, la dimensione predefinita della pagina viene applicata automaticamente.
Modello di utilizzo
query {
books(first: N) {
items { id title }
}
}
Example
Limitare i risultati a cinque libri.
query {
books(first: 5) {
items {
id
title
}
}
}
SQL concettuale
SELECT TOP (5)
id,
sku_title AS title
FROM dbo.books
ORDER BY id ASC;
Risposta di esempio
{
"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" }
]
}
}
}
Regole di convalida
| Input | Result |
|---|---|
| Mancante | Utilizzazioni default-page-size |
| Numero intero positivo ≤ max | Accettato |
-1 |
Espansa a max-page-size |
0 |
Errore (non valido) |
< -1 |
Errore |
> max-page-size |
Errore |
Messaggio di errore di esempio
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
Configurazione di esempio
{
"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" ]
}
}
}
}
}
Vedere anche
| Concetto | REST | GraphQL | Scopo |
|---|---|---|---|
| Projection | $select | Elementi | Scegliere i campi da restituire |
| Filtraggio | $filter | filtro | Limitare le righe per condizione |
| Ordinamento | $orderby | orderBy | Definire l'ordinamento |
| Dimensioni pagina | $first | primo | Limitare il numero di elementi per pagina |
| Continuazione | $after | dopo | Continuare dall'ultima pagina usando un cursore |
Annotazioni
Le parole chiave REST iniziano con $, seguendo le convenzioni OData.