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

Breadcrumb

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

function ResourceBase::routes

Overrides ResourceInterface::routes

File

core/modules/rest/src/Plugin/ResourceBase.php, line 98

Class

ResourceBase
Common base class for resource plugins.

Namespace

Drupal\rest\Plugin

Code

public function routes() {
    $collection = new RouteCollection();
    $definition = $this->getPluginDefinition();
    $canonical_path = $definition['uri_paths']['canonical'] ?? '/' . strtr($this->pluginId, ':', '/') . '/{id}';
    $create_path = $definition['uri_paths']['create'] ?? '/' . strtr($this->pluginId, ':', '/');
    $route_name = strtr($this->pluginId, ':', '.');
    $methods = $this->availableMethods();
    foreach ($methods as $method) {
        $path = $method === 'POST' ? $create_path : $canonical_path;
        $route = $this->getBaseRoute($path, $method);
        // Note that '_format' and '_content_type_format' route requirements are
        // added in ResourceRoutes::getRoutesForResourceConfig().
        $collection->add("{$route_name}.{$method}", $route);
    }
    return $collection;
}

API Navigation

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