From e9c7e4abb683bb830a61712a8b63b8063e015b13 Mon Sep 17 00:00:00 2001 From: Antoine Bluchet Date: Wed, 23 Nov 2022 15:11:03 +0100 Subject: [PATCH] fix(serializer): avoid call to legacy iri converter with non-resource class (#5219) related to #5201 --- src/Serializer/AbstractItemNormalizer.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/Serializer/AbstractItemNormalizer.php b/src/Serializer/AbstractItemNormalizer.php index 576e0f7d996..af3904c47ef 100644 --- a/src/Serializer/AbstractItemNormalizer.php +++ b/src/Serializer/AbstractItemNormalizer.php @@ -203,14 +203,14 @@ public function normalize($object, $format = null, array $context = []) unset($context[self::IS_TRANSFORMED_TO_SAME_CLASS]); } - if ($this->resourceClassResolver->isResourceClass($resourceClass)) { + if ($isResourceClass = $this->resourceClassResolver->isResourceClass($resourceClass)) { $context = $this->initContext($resourceClass, $context); } $iri = null; if (isset($context['iri'])) { $iri = $context['iri']; - } elseif ($this->iriConverter instanceof LegacyIriConverterInterface) { + } elseif ($this->iriConverter instanceof LegacyIriConverterInterface && $isResourceClass) { $iri = $this->iriConverter->getIriFromItem($object); } elseif ($this->iriConverter instanceof IriConverterInterface) { $iri = $this->iriConverter->getIriFromResource($object, UrlGeneratorInterface::ABS_URL, $context['operation'] ?? null, $context);