Adds routes to enabled REST resources.
\Drupal\Core\Routing\RouteBuildEvent $event: The route building event.
public function dynamicRoutes(RouteBuildEvent $event) {
$collection = $event
->getRouteCollection();
$resources = $this->config
->get('rest')
->load()
->get('resources');
if ($resources && ($enabled = array_intersect_key($this->manager
->getDefinitions(), $resources))) {
foreach ($enabled as $key => $resource) {
$plugin = $this->manager
->getInstance(array(
'id' => $key,
));
// @todo Switch to ->addCollection() once http://drupal.org/node/1819018 is resolved.
foreach ($plugin
->routes() as $name => $route) {
$route
->setRequirement('_access', 'TRUE');
$collection
->add("rest.{$name}", $route);
}
}
}
}