/** * @param array $data * @param string $class * @param null $format * @param array $context * * @return object */ public function denormalize($data, $class, $format = null, array $context = []) { foreach ([static::KEY_PARAMS, static::KEY_RESULT] as $key) { if (empty($data[$key])) { continue; } $class = isset($context['params']) ? $context['params'] : MixedArrayDenormalizer::TYPE; $data[$key] = $this->serializer->denormalize($data[$key], $class, $context['encoding'], $context); } return parent::denormalize($data, $class, $format, $context); }
/** * @param array $data * @param string $type * @param string $format * * @return bool */ public function supportsDenormalization($data, $type, $format = null) { $class = $type ?: $this->getClassFromArray($data); if (!$this->entityMetadataFactory->hasMetadataFor($class) or $this->entityMetadataFactory->getMetadataFor($class)->isEmbeddedClass) { return false; } return parent::supportsDenormalization($data, $type, $format); }