Paginação
A API do Altium 365 usa paginação baseada em cursor, seguindo a especificação de conexão Relay. As consultas de coleção retornam um tipo connection que contém uma lista de nós, metadados de paginação e cursores para navegar para frente ou para trás pelos resultados.
Estrutura da Conexão
Uma resposta paginada tem o seguinte formato:
query {
someCollection {
nodes { # os itens desta página
...
}
pageInfo { # metadados da paginação
hasNextPage
hasPreviousPage
startCursor
endCursor
}
totalCount # número total de itens (todas as páginas)
}
}
Buscando Páginas
Use os argumentos first e after para paginar uma coleção para frente:
query {
desProjects(first: 20, after: "{cursor}") {
nodes {
id
name
}
pageInfo {
hasNextPage
endCursor
}
}
}
-
first– número de itens a retornar (tamanho da página) -
after– cursor que marca o fim da página anterior; omita na primeira solicitação
O endCursor de pageInfo torna-se o valor de after para a próxima página. Continue até que hasNextPage seja false.
Para paginar para trás, use last e before com startCursor.
Primeira Solicitação
Para a primeira página, omita o argumento after:
query {
desProjects(first: 20) {
nodes {
id
name
updatedAt
}
pageInfo {
hasNextPage
endCursor
}
totalCount
}
}
Use totalCount para determinar quantas páginas esperar antes de começar a paginar.
Contagem sem Buscar Itens
Se você só precisa da contagem total, pode omitir nodes completamente:
query {
desProjects {
totalCount
}
}