diff --git a/Model/ModelRegistry.php b/Model/ModelRegistry.php index 53a9641..7cc20f8 100644 --- a/Model/ModelRegistry.php +++ b/Model/ModelRegistry.php @@ -98,13 +98,14 @@ final class ModelRegistry $this->api->getDefinitions()->set($name, $schema); } + } - if (0 === count($this->unregistered)) { - foreach ($this->alternativeNames as $model) { - $this->register($model); - } - $this->alternativeNames = []; + if (empty($this->unregistered) && !empty($this->alternativeNames)) { + foreach ($this->alternativeNames as $model) { + $this->register($model); } + $this->alternativeNames = []; + $this->registerDefinitions(); } } diff --git a/ModelDescriber/ObjectModelDescriber.php b/ModelDescriber/ObjectModelDescriber.php index 56a1fdb..a7f9634 100644 --- a/ModelDescriber/ObjectModelDescriber.php +++ b/ModelDescriber/ObjectModelDescriber.php @@ -45,7 +45,7 @@ class ObjectModelDescriber implements ModelDescriberInterface, ModelRegistryAwar $class = $model->getType()->getClassName(); $context = []; if (null !== $model->getGroups()) { - $context = ['serializer_groups' => $model->getGroups()]; + $context = ['serializer_groups' => array_filter($model->getGroups(), 'is_string')]; } $annotationsReader = new AnnotationsReader($this->doctrineReader, $this->modelRegistry); diff --git a/Tests/Functional/TestKernel.php b/Tests/Functional/TestKernel.php index ff0207d..958b5e6 100644 --- a/Tests/Functional/TestKernel.php +++ b/Tests/Functional/TestKernel.php @@ -104,6 +104,10 @@ class TestKernel extends Kernel 'serializer' => ['enable_annotations' => true], ]); + $c->loadFromExtension('twig', [ + 'strict_variables' => '%kernel.debug%', + ]); + $c->loadFromExtension('fos_rest', [ 'format_listener' => [ 'rules' => [