use apivalk\apivalk\Http\Request\Paginator;
public function __invoke(ApivalkRequestInterface $request): AbstractApivalkResponse
{
$pageSize = 20;
$totalEntries = $this->petRepository->count();
// 1. Create Paginator
$paginator = new Paginator($request, $pageSize, $totalEntries);
// 2. Use Paginator to fetch data
$pets = $this->petRepository->findAll(
$paginator->getOffset(),
$paginator->getPageSize()
);
// 3. Create Response
$response = new GetPetsResponse($pets);
// 4. Attach pagination metadata to the response
$response->addPagination(ResponsePagination::createByPaginator($paginator));
return $response;
}