Skip to content

Commit 871824c

Browse files
authored
fix(symfony): check operations parameters (#5513)
1 parent 05b5722 commit 871824c

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

src/Symfony/Bundle/DependencyInjection/Configuration.php

+12-4
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@
1919
use ApiPlatform\Exception\FilterValidationException;
2020
use ApiPlatform\Exception\InvalidArgumentException;
2121
use ApiPlatform\Metadata\ApiResource;
22+
use ApiPlatform\Metadata\Post;
23+
use ApiPlatform\Metadata\Put;
2224
use Doctrine\Bundle\DoctrineBundle\DoctrineBundle;
2325
use Doctrine\Bundle\MongoDBBundle\DoctrineMongoDBBundle;
2426
use Doctrine\ORM\EntityManagerInterface;
@@ -558,10 +560,9 @@ private function addDefaultsSection(ArrayNodeDefinition $rootNode): void
558560
return $normalizedDefaults;
559561
});
560562

561-
$reflection = new \ReflectionClass(ApiResource::class);
562-
foreach ($reflection->getConstructor()->getParameters() as $parameter) {
563-
$defaultsNode->children()->variableNode($nameConverter->normalize($parameter->getName()));
564-
}
563+
$this->defineDefault($defaultsNode, new \ReflectionClass(ApiResource::class), $nameConverter);
564+
$this->defineDefault($defaultsNode, new \ReflectionClass(Put::class), $nameConverter);
565+
$this->defineDefault($defaultsNode, new \ReflectionClass(Post::class), $nameConverter);
565566
}
566567

567568
private function addMakerSection(ArrayNodeDefinition $rootNode): void
@@ -573,4 +574,11 @@ private function addMakerSection(ArrayNodeDefinition $rootNode): void
573574
->end()
574575
->end();
575576
}
577+
578+
private function defineDefault(ArrayNodeDefinition $defaultsNode, \ReflectionClass $reflectionClass, CamelCaseToSnakeCaseNameConverter $nameConverter)
579+
{
580+
foreach ($reflectionClass->getConstructor()->getParameters() as $parameter) {
581+
$defaultsNode->children()->variableNode($nameConverter->normalize($parameter->getName()));
582+
}
583+
}
576584
}

0 commit comments

Comments
 (0)