/** * {@inheritdoc} */ public function normalize($object, $format = null, array $context = []) { $context['cache_key'] = $this->getHalCacheKey($format, $context); $rawData = parent::normalize($object, $format, $context); if (!is_array($rawData)) { return $rawData; } $data = ['_links' => ['self' => ['href' => $this->iriConverter->getIriFromItem($object)]]]; $components = $this->getComponents($object, $format, $context); $data = $this->populateRelation($data, $object, $format, $context, $components, 'links'); $data = $this->populateRelation($data, $object, $format, $context, $components, 'embedded'); return $data + $rawData; }
/** * {@inheritdoc} */ public function normalize($object, $format = null, array $context = []) { $resourceClass = $this->resourceClassResolver->getResourceClass($object, $context['resource_class'] ?? null, true); $resourceMetadata = $this->resourceMetadataFactory->create($resourceClass); $data = $this->addJsonLdContext($this->contextBuilder, $resourceClass, $context); $rawData = parent::normalize($object, $format, $context); if (!is_array($rawData)) { return $rawData; } $data['@id'] = $this->iriConverter->getIriFromItem($object); $data['@type'] = $resourceMetadata->getIri() ?: $resourceMetadata->getShortName(); return $data + $rawData; }