diff --git a/features/openapi/docs.feature b/features/openapi/docs.feature index 3952c966d30..95e07d38a18 100644 --- a/features/openapi/docs.feature +++ b/features/openapi/docs.feature @@ -87,7 +87,11 @@ Feature: Documentation support And the JSON node "paths./related_dummies/{id}/related_to_dummy_friends.get.parameters[4].required" should be false And the JSON node "paths./related_dummies/{id}/related_to_dummy_friends.get.parameters[4].schema.type" should be equal to "string" - And the JSON node "paths./related_dummies/{id}/related_to_dummy_friends.get.parameters" should have 5 elements + And the JSON node "paths./related_dummies/{id}/related_to_dummy_friends.get.parameters[5].name" should be equal to "description" + And the JSON node "paths./related_dummies/{id}/related_to_dummy_friends.get.parameters[5].in" should be equal to "query" + And the JSON node "paths./related_dummies/{id}/related_to_dummy_friends.get.parameters[5].required" should be false + + And the JSON node "paths./related_dummies/{id}/related_to_dummy_friends.get.parameters" should have 6 elements # Subcollection - check schema And the JSON node "paths./related_dummies/{id}/related_to_dummy_friends.get.responses.200.content.application/ld+json.schema.properties.hydra:member.items.$ref" should be equal to "#/components/schemas/RelatedToDummyFriend.jsonld-fakemanytomany" diff --git a/src/OpenApi/Factory/OpenApiFactory.php b/src/OpenApi/Factory/OpenApiFactory.php index c1d09243bf8..feb494066a7 100644 --- a/src/OpenApi/Factory/OpenApiFactory.php +++ b/src/OpenApi/Factory/OpenApiFactory.php @@ -176,7 +176,8 @@ private function collectPaths(ResourceMetadata $resourceMetadata, string $resour } if ($operation['collection']) { - $parameters = array_merge($parameters, $this->getPaginationParameters($resourceMetadata, $operationName), $this->getFiltersParameters($resourceMetadata, $operationName, $resourceClass)); + $subresourceMetadata = $this->resourceMetadataFactory->create($resourceClass); + $parameters = array_merge($parameters, $this->getPaginationParameters($resourceMetadata, $operationName), $this->getFiltersParameters($subresourceMetadata, $operationName, $resourceClass)); } }