Otimização de performance: Implementação de paginação baseada em Cursor
A API de Produtos da Wake agora suporta paginação baseada em cursor através do parâmetro produtoVarianteIdDe. Esta é a abordagem recomendada para consultas de grandes volumes de dados, oferecendo maior performance e estabilidade em comparação ao modelo tradicional de page e pageSize.
Visão Geral Em catálogos extensos, a paginação por offset (tradicional) torna-se progressivamente lenta à medida que a profundidade da página aumenta. A paginação por cursor resolve este gargalo ao utilizar um identificador único como ponto de referência, permitindo que o banco de dados realize saltos diretos para os registros subsequentes.
| Característica | Paginação Tradicional (Offset) | Paginação por Cursor |
|---|---|---|
| Parâmetros | page, pageSize | produtoVarianteIdDe, pageSize |
| Performance | Degradada em páginas altas | Constante (alta Performance) |
| Estabilidade | Risco de timeout em grandes volumes | Alta estabilidade e baixo consumo de CPU |
| Uso ideal | Listagens pequenas e navegação UI | Sincronização de catálogos e integrações pesadas |
Como Implementar
-
A primeira chamada Para iniciar a leitura do catálogo, realize a chamada sem o parâmetro
produtoVarianteIdDeou defina-o como 0. -
Chamadas subsequentes Para obter o próximo lote de produtos, identifique o último
produtoVarianteIdretornado no lote anterior e envie-o no parâmetroprodutoVarianteIdDe.
Exemplo de fluxo:
Request: GET /api/v1/produtos?pageSize=50
Resposta: Retorna itens com IDs de 1 a 50.
Próximo Request: GET /api/v1/produtos?pageSize=50&produtoVarianteIdDe=50
Resposta: Retorna itens a partir do ID 51.
Documentação:
https://wakecommerce.readme.io/reference/retorna-todos-os-produtos https://wakecommerce.readme.io/docs/consultando-todos-os-produtos
