Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Limitando 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 DAB (Construtor de API de Dados) usa o first argumento para controlar quantos registros são retornados em uma única resposta. O DAB aplica a paginação baseada em cursor internamente, mas first pode ser usado de forma independente 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
| Conceito | Description |
|---|---|
| Tamanho da 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 |
| Solicitando máximo | Passar -1 para solicitar o tamanho máximo da página configurado |
Se first for omitido, o tamanho da página padrão será aplicado automaticamente.
Padrão de uso
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 de exemplo
{
"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
| Input | Resultado |
|---|---|
| Omitido | Usa default-page-size |
| Número inteiro positivo ≤ máximo | Aceitado |
-1 |
Expandido para max-page-size |
0 |
Erro (inválido) |
< -1 |
Erro |
> max-page-size |
Erro |
Mensagem de erro de exemplo
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
| Conceito | REST | GraphQL | Propósito |
|---|---|---|---|
| Projection | $select | items | Escolher quais campos retornar |
| Filtragem | $filter | filtro | 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 | depois | Continuar da última página usando um cursor |
Observação
As palavras-chave REST começam com $, seguindo as convenções OData.