Skip to main content

O que é

A paginação permite recuperar grandes coleções em respostas delimitadas. Os endpoints de listagem da YCloud usam paginação por número de página ou por cursor.

Antes de começar

Consulte a referência do endpoint para verificar os parâmetros de paginação compatíveis, filtros, ordem de classificação e o formato da resposta. Não presuma que todos os endpoints de listagem utilizam a mesma estratégia.

Como funciona

Solicite uma página, processe seus itens e continue até que a resposta indique que não há uma próxima página. Mantenha os mesmos filtros e configurações de classificação durante toda a varredura.

Requisição e resposta

Paginação por número de página

A maioria dos endpoints de listagem aceita estes parâmetros de consulta:
A resposta de uma página contém:
Endpoints baseados em deslocamento (offset) normalmente limitam tanto page quanto limit em 100, limitando a varredura aos primeiros 10.000 itens. Verifique os limites de cada endpoint e use paginação por cursor quando houver suporte e você precisar de um conjunto maior de resultados.
Continue solicitando a próxima página enquanto length for igual a limit. Pare quando length for menor que limit.

Paginação por cursor

Endpoints que retornam cursor.after têm suporte a paginação por cursor. Passe esse valor como pageAfter na próxima requisição.
Uma resposta de cursor contém items, limit, length e, quando existirem mais resultados, cursor.after. O objeto de cursor é retornado apenas por endpoints compatíveis com paginação por cursor.
Envie o cursor retornado sem alterações para a próxima requisição. Trate-o como opaco; não o modifique nem o armazene como um identificador de longo prazo da aplicação. Pare quando length for 0 ou se a resposta não contiver mais cursor.after.
Os parâmetros de paginação e filtro variam conforme o endpoint. Consulte a referência da API antes de implementar uma operação de listagem.

Checklist de implementação

  • Defina um limit explícito em vez de depender do padrão.
  • Mantenha os filtros entre as requisições de página.
  • Interrompa com base na condição da resposta, e não em uma estimativa da contagem de páginas.
  • Trate uma primeira página vazia como um resultado bem-sucedido.
  • Adicione um limite de segurança de páginas ou itens máximos para tarefas em segundo plano.