From 1b307e7e05ae34f7f0e788ed6be5f2624cc2ece5 Mon Sep 17 00:00:00 2001 From: Sebastian Breuers Date: Fri, 27 Mar 2026 21:18:19 +0100 Subject: [PATCH] fix: use JSON:API compliant conversion Following recommendations from here https://jsonapi.org/format/#fetching-pagination while being close to the ways used internally in api-platform. --- src/JsonApi/State/JsonApiProvider.php | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/src/JsonApi/State/JsonApiProvider.php b/src/JsonApi/State/JsonApiProvider.php index bf86cb406de..7fc03ce415d 100644 --- a/src/JsonApi/State/JsonApiProvider.php +++ b/src/JsonApi/State/JsonApiProvider.php @@ -67,7 +67,7 @@ public function provide(Operation $operation, array $uriVariables = [], array $c if ( \is_array($pageParameter) ) { - $filters = array_merge($pageParameter, $filters); + $filters = array_merge($this->transformPagination($pageParameter), $filters); } [$included, $properties] = $this->transformFieldsetsParameters($queryParameters, $operation->getShortName() ?? ''); @@ -114,4 +114,13 @@ private function transformFieldsetsParameters(array $queryParameters, string $re return [$included, $properties]; } + + private function transformPagination(array $pageParameter): array + { + return array_filter([ + 'page' => $pageParameter['number'] ?? null, + 'itemsPerPage' => $pageParameter['size'] ?? null, + 'pagination' => $pageParameter['pagination'] ?? null, + ], fn($v) => $v !== null); + } }