Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. EntityResource.php

function EntityResource::getBaseRoute

Overrides ResourceBase::getBaseRoute

File

core/modules/rest/src/Plugin/rest/resource/EntityResource.php, line 369

Class

EntityResource
Represents entities as resources.

Namespace

Drupal\rest\Plugin\rest\resource

Code

protected function getBaseRoute($canonical_path, $method) {
    $route = parent::getBaseRoute($canonical_path, $method);
    switch ($method) {
        case 'GET':
            $route->setRequirement('_entity_access', $this->entityType
                ->id() . '.view');
            break;
        case 'POST':
            $route->setRequirement('_entity_create_any_access', $this->entityType
                ->id());
            $route->setOption('_ignore_create_bundle_access', TRUE);
            break;
        case 'PATCH':
            $route->setRequirement('_entity_access', $this->entityType
                ->id() . '.update');
            break;
        case 'DELETE':
            $route->setRequirement('_entity_access', $this->entityType
                ->id() . '.delete');
            break;
    }
    $definition = $this->getPluginDefinition();
    $parameters = $route->getOption('parameters') ?: [];
    $parameters[$definition['entity_type']]['type'] = 'entity:' . $definition['entity_type'];
    $route->setOption('parameters', $parameters);
    return $route;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal