diff --git a/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/RequestPayloadValueResolver.php b/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/RequestPayloadValueResolver.php index 370097cda4b08..88b76a6e48782 100644 --- a/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/RequestPayloadValueResolver.php +++ b/src/Symfony/Component/HttpKernel/Controller/ArgumentResolver/RequestPayloadValueResolver.php @@ -157,11 +157,13 @@ public static function getSubscribedEvents(): array private function mapQueryString(Request $request, string $type, MapQueryString $attribute): ?object { - if (!$data = $request->query->all()) { - return null; + $data = $request->query->all(); + + if (class_exists($type) || $data) { + return $this->serializer->denormalize($data, $type, null, self::CONTEXT_DENORMALIZE + $attribute->serializationContext); } - return $this->serializer->denormalize($data, $type, null, self::CONTEXT_DENORMALIZE + $attribute->serializationContext); + return null; } private function mapRequestPayload(Request $request, string $type, MapRequestPayload $attribute): ?object