RelationshipNormalizer.php in Drupal 8
Same filename and directory in other branches
Namespace
Drupal\jsonapi\NormalizerFile
core/modules/jsonapi/src/Normalizer/RelationshipNormalizer.phpView 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(),
]);
}
}
Classes
Name | Description |
---|---|
RelationshipNormalizer | Normalizes a JSON:API relationship object. |