diff --git a/src/Normalizer/ResourceObjectNormalizer.php b/src/Normalizer/ResourceObjectNormalizer.php index 0785a78..12f93b3 100644 --- a/src/Normalizer/ResourceObjectNormalizer.php +++ b/src/Normalizer/ResourceObjectNormalizer.php @@ -75,7 +75,7 @@ class ResourceObjectNormalizer extends NormalizerBase { } /* @var Value\FieldNormalizerValueInterface[] $normalizer_values */ $normalizer_values = []; - foreach ($object->getFields() as $field_name => $field) { + foreach ($this->getFields($object) as $field_name => $field) { $normalized_field = $this->serializeField($field, $context, $format); assert($normalized_field instanceof FieldNormalizerValueInterface); @@ -91,6 +91,19 @@ class ResourceObjectNormalizer extends NormalizerBase { return new ResourceObjectNormalizerValue($normalizer_values, $object, $link_context); } + /** + * Extracts a resource object's fields. + * + * @param \Drupal\jsonapi\JsonApiResource\ResourceObject $object + * The resource object from which to extract fields. + * + * @return \Drupal\Core\Field\FieldItemListInterface[]|mixed + * The extracted fields. + */ + protected function getFields(ResourceObject $object) { + return $object->getFields(); + } + /** * Gets the field names for the given entity. *