Paginação e dados
Paginação interpretada incorretamente
Quando só a primeira página funciona, normalmente o cliente está montando URL manualmente ou ignorando metadados de paginação.
Diagnóstico:
- Conferir
links e meta da resposta.
- Garantir que o loop usa
next devolvido pela API.
- Validar se filtros/ordenação mudam entre páginas.
Correção:
- Ler paginação a partir da própria resposta.
- Não assumir tamanho fixo de página.
- Tratar resultados como fluxo incremental.
Exemplo de loop seguro de paginação
let nextUrl = "https://api.escavador.com/api/v1/monitoramentos?page=1";
while (nextUrl) {
const res = await fetch(nextUrl, {
headers: { Authorization: `Bearer ${token}` },
});
const body = await res.json();
for (const item of body.data ?? []) {
await processar(item);
}
nextUrl = body?.links?.next ?? null;
}
Esse tipo de divergência é comum por timezone, formato de data ou intervalos muito amplos.
- Normalize timezone no cliente.
- Envie datas no formato aceito pela rota.
- Reproduza com intervalo curto e conhecido.
Em integrações robustas, o parser deve assumir que alguns campos são opcionais.
- Trate campos opcionais com fallback.
- Evite parser rígido acoplado à ordem do JSON.