Visão geral
A RWS suporta os principais métodos de paginação de APIs, como simples, por offset, por cursor e por último ID, permitindo extrair grandes volumes de dados de forma eficiente.Tipos de paginação suportados pela RWS
Paginação Simples
Baseada em número de página e tamanho de página
Paginação por Offset
Usa parâmetros offset e limit
Paginação por Cursor
Paginação baseada em token
Paginação por Último ID
Usa o ID do último registro para próxima página
Paginação Simples
A paginação simples usa parâmetros de número de página e tamanho de página para buscar dados em blocos. É o tipo de paginação mais comum.Como identificar
Sua API usa paginação simples se:- Parâmetros de query incluem
page,page_number,pageNo, ou similares - A API aceita tanto número de página quanto tamanho de página juntos
- Exemplos de URLs:
?page=1&limit=10,?page_number=2&page_size=50
Como funciona
A API espera dois parâmetros:- Número de página: Qual página recuperar (geralmente começa em 1 ou 0)
- Tamanho de página: Quantos registros por página
| Requisição | Parâmetro | Página retornada |
|---|---|---|
| Primeira | GET /items?page=1&limit=10 | Página 1 |
| Segunda | GET /items?page=2&limit=10 | Página 2 |
| Terceira | GET /items?page=3&limit=10 | Página 3 (ou sem mais dados) |
Paginação por Offset
A paginação por offset usa um offset (posição inicial) e limit (número de registros) para recuperar dados.Como identificar
Sua API usa paginação por offset se:- Parâmetros de query incluem
offset,skip,start, ou similares - A API usa offset combinado com limit para controlar paginação
- Exemplos de URLs:
?offset=0&limit=10,?skip=20&take=50
Como funciona
A API espera:- Offset: O número de registros a pular antes de começar a retornar resultados
- Limit: O número máximo de registros a retornar
| Requisição | Parâmetro | Offset retornado |
|---|---|---|
| Primeira | GET /items?offset=0&limit=10 | offset=0 |
| Segunda | GET /items?offset=10&limit=10 | offset=10 |
| Terceira | GET /items?offset=20&limit=10 | offset=20 (ou sem mais dados) |
Paginação por Cursor
A paginação por cursor usa um token ou valor de cursor para marcar a posição no conjunto de dados.Como identificar
Sua API usa paginação por cursor se:- A resposta da API inclui um cursor, token ou campo “next” apontando para a próxima página
- A resposta inclui campos como
nextCursor,pageToken,next,cursor, oupagination.next - Você precisa passar um token da resposta anterior para obter a próxima página
- Exemplo: Resposta contém
{"data": [...], "pagination": {"nextCursor": "abc123"}}
Como funciona
A API fornece um cursor ou token na resposta que aponta para a próxima página. O cursor pode ser um token (valor string) ou uma URL apontando para a próxima página. Extraia o cursor da resposta atual e inclua-o na sua próxima requisição. A API usa esse cursor para determinar quais registros retornar a seguir. Cada resposta contém um token que aponta para a próxima página. Use esse token como parâmetro na requisição seguinte.| Requisição | Parâmetro | Cursor da resposta |
|---|---|---|
| Primeira | GET /items?limit=10 | "nextCursor": "abc123" |
| Segunda | GET /items?limit=10&cursor=abc123 | "nextCursor": "xyz789" |
| Terceira | GET /items?limit=10&cursor=xyz789 | "nextCursor": null |
Paginação por last ID
A paginação por last ID usa o ID do último registro da página atual para buscar a próxima página.Como identificar
Sua API usa paginação por last ID se:- Parâmetros de query incluem
after,since_id,last_id, ou similares - A API requer passar o ID do último registro da página anterior
- Registros são ordenados por ID e você busca registros com IDs maiores que um valor dado
- Exemplos de URLs:
?after=12345&limit=10,?since_id=67890&per_page=50
Como funciona
Extrai o ID do último registro da página atual e usa-o como parâmetro para buscar a próxima página. A API retorna registros com IDs maiores que o valor de ID fornecido. Essa abordagem evita perder registros mesmo se novos dados forem adicionados durante a paginação, já que você sempre busca registros após um ID específico.| Requisição | Parâmetro | Último ID retornado |
|---|---|---|
| Primeira | GET /items?limit=10 | lastId: 100 |
| Segunda | GET /items?limit=10&after=100 | lastId: 200 |
| Terceira | GET /items?limit=10&after=200 | lastId: null (ou sem mais dados) |