Em nossas APIs de listagem, usamos dois parâmetros que possibilitam a paginação em sua aplicação.
São eles:
page: Determina a página de registros que será retornada, começando da página zero (0).
size: Determina o máximo de registros que serão retornados por página.
Veja abaixo um exemplo url para chamada da API para listar notas fiscais:
https://api.integranfe.com.br/nfe/corporacaoId/empresaId?page=0&size=10
Neste caso o parâmetro "corporacaoId" refere-se ao "id" de uma corporação criada, bem como "empresaId" refere-se ao id de uma empresa criada, ambos os nomes dos parâmetros devem ser alterados pelos respectivos ids, e devem ser informados como parte da url .
O atributo "page" é a página a ser retornada, e o "size" corresponde a quantidade de notas a serem exibidas.
Pagina 1
{
"content": [
{
"dataCriacao": "31/10/2018 08:55:35",
"dataAtualizacao": "31/10/2018 08:55:35",
"id": 6,
"descricao": "venda",
"grupo": 5,
"ativo": true,
"notAtivo": false
}
],
"pageable": {
"sort": {
"unsorted": true,
"sorted": false,
"empty": true
},
"pageSize": 3,
"pageNumber": 0,
"offset": 0,
"paged": true,
"unpaged": false
},
"last": true,
"totalPages": 1,
"totalElements": 1,
"numberOfElements": 1,
"first": true,
"sort": {
"unsorted": true,
"sorted": false,
"empty": true
},
"size": 3,
"number": 0,
"empty": false
}
O campo "content" é um array que contém os registros retornados. O campo "pageable" contém os dados referentes a paginação, por exemplo, "pageSize" é a quantidade de elementos a serem retornados por páginas, "pageNumber" é a página retornada, neste caso a página zero que é a primeira, "last" informa se é a última.
Pagina 2
{
"content": [],
"pageable": {
"sort": {
"unsorted": true,
"sorted": false,
"empty": true
},
"pageSize": 3,
"pageNumber": 1,
"offset": 3,
"paged": true,
"unpaged": false
},
"last": true,
"totalPages": 1,
"totalElements": 1,
"numberOfElements": 0,
"first": false,
"sort": {
"unsorted": true,
"sorted": false,
"empty": true
},
"size": 3,
"number": 1,
"empty": true
}
No caso da segunda página o campo "content" voltou vazio pois não há registros a serem exibidos.