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 contendo 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 { # the items on this page
...
}
pageInfo { # pagination metadata
hasNextPage
hasPreviousPage
startCursor
endCursor
}
totalCount # total number of items (all pages)
}
}
Buscando páginas
Use os argumentos first e after para paginar para frente em uma coleção:
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 se torna 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
}
}