Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Limitar o tamanho da página com
Limitar o tamanho da página evita sobrecarregar clientes ou servidores ao consultar grandes conjuntos de dados. No GraphQL, o construtor de API de dados (DAB) usa o first argumento para controlar quantos registros são retornados em uma única resposta. O DAB aplica paginação baseada em cursor internamente, mas first pode ser usado independentemente para simplesmente limitar o tamanho do resultado.
Observação
first limita o número de registros retornados, mas não lida com a continuação. Para várias páginas, use after.
Vá para a versão REST deste documento.
Visão geral
| Concept | Description |
|---|---|
| Tamanho de página padrão |
runtime.pagination.default-page-size (o padrão é 100) |
| Tamanho máximo da página |
runtime.pagination.max-page-size (o padrão é 100000) |
| Substituição do cliente | first |
| Pedido máximo | Passar -1 para solicitar o tamanho máximo de página configurado |
Se first for omitido, o tamanho de página padrão será aplicado automaticamente.
Padrão de utilização
query {
books(first: N) {
items { id title }
}
}
Example
Limite os resultados a cinco livros.
query {
books(first: 5) {
items {
id
title
}
}
}
SQL conceitual
SELECT TOP (5)
id,
sku_title AS title
FROM dbo.books
ORDER BY id ASC;
Resposta da amostra
{
"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" }
]
}
}
}
Regras de validação
| Entrada | Result |
|---|---|
| Omitida | Utilizações default-page-size |
| Inteiro positivo ≤ máx. | Aceito |
-1 |
Expandido para max-page-size |
0 |
Erro (inválido) |
< -1 |
Erro |
> max-page-size |
Erro |
Exemplo de mensagem de erro
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
Configuração de exemplo
{
"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" ]
}
}
}
}
}
Consulte também
| Concept | REST | GraphQL | Propósito |
|---|---|---|---|
| Projection | $select | items | Escolha quais campos retornar |
| Filtering | $filter | filtrar | Restringir linhas por condição |
| Classificação | $orderby | orderBy | Definir a ordem de classificação |
| Tamanho da página | $first | first | Limitar o número de itens por página |
| Continuação | $after | após | Continue a partir da última página usando um cursor |
Observação
As palavras-chave REST começam com $, seguindo as convenções OData.