O GraphQL permite buscar apenas os campos necessários. Isso ajuda a manter as respostas de rede pequenas e rápidas. No entanto, o GraphQL não garante automaticamente respostas pequenas. Se a lista de resultados contiver muitos elementos, pode causar uma resposta enorme. Você precisará fazer paginação nesta situação.
Nossa API GraphQL implementou paginação baseada em cursor. Existem 4 parâmetros usados para percorrer os elementos.
- after: Paginar após cursor opaco
- before: Paginar antes do cursor opaco
- first: Paginar os primeiros x elementos
- last: Paginar os últimos x elementos
Na consulta, você pode solicitar os objetos pageInfo e pageData, que fornecerão todos os dados necessários para paginação. Abaixo está um exemplo para paginar a resposta de dispositivos. Ele solicita o primeiro elemento após o cursor especificado.
query{
devices (query : {},first:1,after:"YXJyYXljb25uZWN0aW9uOjQ=") {
page{
edges{
cursor,
node{
_id,
deviceName,
UUID,
pairingCode,
currentType,
currentAssetId,
currentPlaylistId,
localAppVersion,
},
},
pageInfo{
hasNextPage,
startCursor,
endCursor
}
},
pageData{
limit,
offset
}
}
}
Artigo Anterior - Tutorial: Criando Agendamentos e Adicionando Itens de Agendamento Usando GraphQL
Próximo Artigo - Tratamento de Erros