function RelationLinkManager::getRelationUri

File

core/modules/hal/src/LinkManager/RelationLinkManager.php, line 81

Class

RelationLinkManager

Namespace

Drupal\hal\LinkManager

Code

public function getRelationUri($entity_type, $bundle, $field_name, $context = []) {
  // Per the interface documentation of this method, the returned URI may
  // optionally also serve as the URL of a documentation page about this
  // field. However, Drupal does not currently implement such a documentation
  // page. Therefore, we return a URI assembled relative to the site's base
  // URL, which is sufficient to uniquely identify the site's entity type +
  // bundle + field for use in hypermedia formats, but we do not take into
  // account unclean URLs, language prefixing, or anything else that would be
  // required for Drupal to be able to respond with content at this URL. If a
  // module is installed that adds such content, but requires this URL to be
  // different (e.g., include a language prefix), then the module must also
  // override the RelationLinkManager class/service to return the desired URL.
  $uri = $this->getLinkDomain($context) . "/rest/relation/{$entity_type}/{$bundle}/{$field_name}";
  $this->moduleHandler
    ->alter('hal_relation_uri', $uri, $context);
  return $uri;
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.