Paginación
La API de Altium 365 utiliza paginación basada en cursores siguiendo la especificación de conexión Relay. Las consultas de colecciones devuelven un tipo connection que contiene una lista de nodos, metadatos de paginación y cursores para navegar hacia adelante o hacia atrás por los resultados.
Estructura de la conexión
Una respuesta paginada tiene la siguiente forma:
query {
someCollection {
nodes { # los elementos de esta página
...
}
pageInfo { # metadatos de paginación
hasNextPage
hasPreviousPage
startCursor
endCursor
}
totalCount # número total de elementos (todas las páginas)
}
}
Obtención de páginas
Utilice los argumentos first y after para avanzar por una colección:
query {
desProjects(first: 20, after: "{cursor}") {
nodes {
id
name
}
pageInfo {
hasNextPage
endCursor
}
}
}
-
first– número de elementos que se devolverán (tamaño de página) -
after– cursor que marca el final de la página anterior; omítalo en la primera solicitud
El valor de endCursor de pageInfo pasa a ser el valor de after para la siguiente página. Continúe hasta que hasNextPage sea false.
Para retroceder por las páginas, utilice last y before con startCursor.
Primera solicitud
Para la primera página, omita el argumento after:
query {
desProjects(first: 20) {
nodes {
id
name
updatedAt
}
pageInfo {
hasNextPage
endCursor
}
totalCount
}
}
Utilice totalCount para determinar cuántas páginas puede esperar antes de comenzar a paginar.
Conteo sin obtener elementos
Si solo necesita el conteo total, puede omitir nodes por completo:
query {
desProjects {
totalCount
}
}