FwPaginator

Paginacao de resultados. Suporta cursor-based e offset-based. Indispensavel em listas REST.

Assinatura: oPag := FwPaginator():New(oQuery, nLimit) / :page(n)

Retorna: FwPaginator

Paginacao centralizada — voce passa query, define tamanho de pagina, framework cuida.

// Em endpoint REST
@Get("/api/v1/clientes")
function ListaClientes()
    Local nPagina := Val(oRequest:getQueryParam("page"))
    Local nLimit  := Val(oRequest:getQueryParam("limit"))
    If nLimit == 0 ; nLimit := 20 ; EndIf

    Local oPag := FwPaginator():New("SELECT * FROM " + RetSqlName("SA1"), nLimit)

    Local oResultado := oPag:page(nPagina)

    Local oRet := JsonObject():New()
    oRet["data"]       := oResultado:items
    oRet["total"]      := oResultado:total
    oRet["page"]       := nPagina
    oRet["totalPages"] := oResultado:totalPages

    Return oRet:ToJson()
return

Pegadinhas

Veja também