function RelationLinkManager::getRelationUri
Same name in other branches
- 8.9.x core/modules/hal/src/LinkManager/RelationLinkManager.php \Drupal\hal\LinkManager\RelationLinkManager::getRelationUri()
Overrides RelationLinkManagerInterface::getRelationUri
1 call to RelationLinkManager::getRelationUri()
- RelationLinkManager::writeCache in core/
modules/ hal/ src/ LinkManager/ RelationLinkManager.php - Writes the cache of relation links.
File
-
core/
modules/ hal/ src/ LinkManager/ RelationLinkManager.php, line 81
Class
Namespace
Drupal\hal\LinkManagerCode
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.