diff --git a/src/Symfony/Bundle/DependencyInjection/Configuration.php b/src/Symfony/Bundle/DependencyInjection/Configuration.php index 82bfad3c68f..45a7c3b32c6 100644 --- a/src/Symfony/Bundle/DependencyInjection/Configuration.php +++ b/src/Symfony/Bundle/DependencyInjection/Configuration.php @@ -19,6 +19,8 @@ use ApiPlatform\Exception\FilterValidationException; use ApiPlatform\Exception\InvalidArgumentException; use ApiPlatform\Metadata\ApiResource; +use ApiPlatform\Metadata\Post; +use ApiPlatform\Metadata\Put; use Doctrine\Bundle\DoctrineBundle\DoctrineBundle; use Doctrine\Bundle\MongoDBBundle\DoctrineMongoDBBundle; use Doctrine\ORM\EntityManagerInterface; @@ -558,10 +560,9 @@ private function addDefaultsSection(ArrayNodeDefinition $rootNode): void return $normalizedDefaults; }); - $reflection = new \ReflectionClass(ApiResource::class); - foreach ($reflection->getConstructor()->getParameters() as $parameter) { - $defaultsNode->children()->variableNode($nameConverter->normalize($parameter->getName())); - } + $this->defineDefault($defaultsNode, new \ReflectionClass(ApiResource::class), $nameConverter); + $this->defineDefault($defaultsNode, new \ReflectionClass(Put::class), $nameConverter); + $this->defineDefault($defaultsNode, new \ReflectionClass(Post::class), $nameConverter); } private function addMakerSection(ArrayNodeDefinition $rootNode): void @@ -573,4 +574,11 @@ private function addMakerSection(ArrayNodeDefinition $rootNode): void ->end() ->end(); } + + private function defineDefault(ArrayNodeDefinition $defaultsNode, \ReflectionClass $reflectionClass, CamelCaseToSnakeCaseNameConverter $nameConverter) + { + foreach ($reflectionClass->getConstructor()->getParameters() as $parameter) { + $defaultsNode->children()->variableNode($nameConverter->normalize($parameter->getName())); + } + } }