diff --git a/core/modules/hal/hal.services.yml b/core/modules/hal/hal.services.yml index de56653..cda7e84 100644 --- a/core/modules/hal/hal.services.yml +++ b/core/modules/hal/hal.services.yml @@ -3,6 +3,8 @@ services: class: Drupal\hal\Normalizer\FileFieldItemNormalizer tags: - { name: normalizer, priority: 10 } + calls: + - [setLinkManager, ['@rest.link_manager']] serializer.normalizer.entity_reference_item.hal: class: Drupal\hal\Normalizer\EntityReferenceItemNormalizer tags: diff --git a/core/modules/hal/lib/Drupal/hal/Normalizer/FileFieldItemNormalizer.php b/core/modules/hal/lib/Drupal/hal/Normalizer/FileFieldItemNormalizer.php index 6a0453a..21becd1 100644 --- a/core/modules/hal/lib/Drupal/hal/Normalizer/FileFieldItemNormalizer.php +++ b/core/modules/hal/lib/Drupal/hal/Normalizer/FileFieldItemNormalizer.php @@ -32,7 +32,11 @@ class FileFieldItemNormalizer extends NormalizerBase { * Implements \Symfony\Component\Serializer\Normalizer\NormalizerInterface::normalize() */ public function normalize($field_item, $format = NULL, array $context = array()) { + $uri = $field_item->get('entity')->getValue()->getFileUri(); + $uri = file_create_url($uri); + $values = $field_item->getPropertyValues(); + $values['uri'] = $uri; return $values; }