@@ -113,9 +113,18 @@ private function transform(Collection $object): Collection
113113 $ collectionContext += $ normalizationContext = $ this ->serializerContextBuilder ->createFromRequest ($ request , true , $ attributes );
114114 try {
115115 $ uriVariables = $ this ->getOperationUriVariables ($ getCollectionOperation , $ parameters , $ resourceClass );
116- $ this ->parameterProvider ->provide ($ getCollectionOperation , $ uriVariables , [ ...$ collectionContext , 'request ' => clone $ request , 'uri_variables ' => $ uriVariables ]);
116+ $ clonedRequest = clone $ request ;
117+ if ($ defaultQueryParams ) {
118+ foreach ($ defaultQueryParams as $ key => $ defaultQueryParam ) {
119+ if (!$ clonedRequest ->query ->has ($ key )) {
120+ $ clonedRequest ->query ->set ($ key , $ defaultQueryParam );
121+ }
122+ }
123+ $ clonedRequest ->attributes ->set ('_api_query_parameters ' , $ clonedRequest ->query ->all ());
124+ }
125+ $ this ->parameterProvider ->provide ($ getCollectionOperation , $ uriVariables , [ ...$ collectionContext , 'request ' => $ clonedRequest , 'uri_variables ' => $ uriVariables ]);
117126 // Operation $operation, array $uriVariables = [], array $context = []
118- $ collectionData = $ this ->provider ->provide ($ getCollectionOperation , $ uriVariables , [ ... $ collectionContext, ' request ' => $ request , ' uri_variables ' => $ uriVariables ] );
127+ $ collectionData = $ this ->provider ->provide ($ getCollectionOperation , $ uriVariables , $ collectionContext );
119128 } catch (InvalidIdentifierException $ e ) {
120129 throw new NotFoundHttpException ('Invalid identifier value or configuration. ' , $ e );
121130 }
0 commit comments