middleware( function ($request, $next) { $this->repository = app(UserGroupRepositoryInterface::class); return $next($request); } ); } public function index(DateRequest $request): JsonResponse { $administrations = $this->repository->get(); $pageSize = $this->parameters->get('limit'); $count = $administrations->count(); $administrations = $administrations->slice(($this->parameters->get('page') - 1) * $pageSize, $pageSize); $paginator = new LengthAwarePaginator($administrations, $count, $pageSize, $this->parameters->get('page')); $transformer = new UserGroupTransformer(); $transformer->setParameters($this->parameters); // give params to transformer return response() ->json($this->jsonApiList(self::RESOURCE_KEY, $paginator, $transformer)) ->header('Content-Type', self::CONTENT_TYPE) ; } }