diff --git a/ModelDescriber/Annotations/SymfonyConstraintAnnotationReader.php b/ModelDescriber/Annotations/SymfonyConstraintAnnotationReader.php index af1ade0..4f392ef 100644 --- a/ModelDescriber/Annotations/SymfonyConstraintAnnotationReader.php +++ b/ModelDescriber/Annotations/SymfonyConstraintAnnotationReader.php @@ -48,7 +48,8 @@ class SymfonyConstraintAnnotationReader foreach ($annotations as $annotation) { if ($annotation instanceof Assert\NotBlank || $annotation instanceof Assert\NotNull) { - if ($annotation instanceof Assert\NotBlank && $annotation->allowNull) { + // To support symfony/validator < 4.3 + if ($annotation instanceof Assert\NotBlank && \method_exists($annotation, 'allowNull') && $annotation->allowNull) { // The field is optional continue; } diff --git a/RouteDescriber/RouteDescriberTrait.php b/RouteDescriber/RouteDescriberTrait.php index eae5fbf..7788a5e 100644 --- a/RouteDescriber/RouteDescriberTrait.php +++ b/RouteDescriber/RouteDescriberTrait.php @@ -16,9 +16,6 @@ use OpenApi\Annotations as OA; use OpenApi\Annotations\OpenApi; use Symfony\Component\Routing\Route; -/** - * @internal - */ trait RouteDescriberTrait { /** diff --git a/Tests/ModelDescriber/Annotations/SymfonyConstraintAnnotationReaderTest.php b/Tests/ModelDescriber/Annotations/SymfonyConstraintAnnotationReaderTest.php index 9795e58..a7e5827 100644 --- a/Tests/ModelDescriber/Annotations/SymfonyConstraintAnnotationReaderTest.php +++ b/Tests/ModelDescriber/Annotations/SymfonyConstraintAnnotationReaderTest.php @@ -49,6 +49,10 @@ class SymfonyConstraintAnnotationReaderTest extends TestCase public function testOptionalProperty() { + if (!\method_exists(Assert\NotBlank::class, 'allowNull')) { + $this->markTestSkipped('NotBlank::allowNull was added in symfony/validator 4.3.'); + } + $entity = new class() { /** * @Assert\NotBlank(allowNull = true)