RelationshipNormalizer.php
Same filename in other branches
Namespace
Drupal\jsonapi\NormalizerFile
-
core/
modules/ jsonapi/ src/ Normalizer/ RelationshipNormalizer.php
View source
<?php
namespace Drupal\jsonapi\Normalizer;
use Drupal\jsonapi\JsonApiResource\Relationship;
use Drupal\jsonapi\Normalizer\Value\CacheableNormalization;
/**
* Normalizes a JSON:API relationship object.
*
* @internal
*/
class RelationshipNormalizer extends NormalizerBase {
/**
* {@inheritdoc}
*/
protected $supportedInterfaceOrClass = Relationship::class;
/**
* {@inheritdoc}
*/
public function normalize($object, $format = NULL, array $context = []) {
assert($object instanceof Relationship);
return CacheableNormalization::aggregate([
'data' => $this->serializer
->normalize($object->getData(), $format, $context),
'links' => $this->serializer
->normalize($object->getLinks(), $format, $context)
->omitIfEmpty(),
'meta' => CacheableNormalization::permanent($object->getMeta())
->omitIfEmpty(),
]);
}
/**
* {@inheritdoc}
*/
public function hasCacheableSupportsMethod() : bool {
return TRUE;
}
}
Classes
Title | Deprecated | Summary |
---|---|---|
RelationshipNormalizer | Normalizes a JSON:API relationship object. |
Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.