Commit d077f162 authored by catch's avatar catch

Issue #2195571 by Les Lim: Add a dedicated @RestResource annotation class.

parent 78b48c89
<?php
/**
* @file
* Contains \Drupal\rest\Annotation\RestResource.
*/
namespace Drupal\rest\Annotation;
use \Drupal\Component\Annotation\Plugin;
/**
* Defines a REST resource annotation object.
*
* @Annotation
*/
class RestResource extends Plugin {
/**
* The resource plugin ID.
*
* @var string
*/
public $id;
/**
* The human-readable name of the resource plugin.
*
* @ingroup plugin_translatable
*
* @var \Drupal\Core\Annotation\Translation
*/
public $label;
}
...@@ -9,9 +9,8 @@ ...@@ -9,9 +9,8 @@
use Drupal\Core\Cache\CacheBackendInterface; use Drupal\Core\Cache\CacheBackendInterface;
use Drupal\Core\Extension\ModuleHandlerInterface; use Drupal\Core\Extension\ModuleHandlerInterface;
use Drupal\Core\Language\LanguageManager; use Drupal\Core\Language\LanguageManagerInterface;
use Drupal\Core\Plugin\DefaultPluginManager; use Drupal\Core\Plugin\DefaultPluginManager;
use Drupal\Core\Plugin\Discovery\CacheDecorator;
/** /**
* Manages discovery and instantiation of resource plugins. * Manages discovery and instantiation of resource plugins.
...@@ -26,13 +25,13 @@ class ResourcePluginManager extends DefaultPluginManager { ...@@ -26,13 +25,13 @@ class ResourcePluginManager extends DefaultPluginManager {
* keyed by the corresponding namespace to look for plugin implementations. * keyed by the corresponding namespace to look for plugin implementations.
* @param \Drupal\Core\Cache\CacheBackendInterface $cache_backend * @param \Drupal\Core\Cache\CacheBackendInterface $cache_backend
* Cache backend instance to use. * Cache backend instance to use.
* @param \Drupal\Core\Language\LanguageManager $language_manager * @param \Drupal\Core\Language\LanguageManagerInterface $language_manager
* The language manager. * The language manager.
* @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler * @param \Drupal\Core\Extension\ModuleHandlerInterface $module_handler
* The module handler to invoke the alter hook with. * The module handler to invoke the alter hook with.
*/ */
public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, LanguageManager $language_manager, ModuleHandlerInterface $module_handler) { public function __construct(\Traversable $namespaces, CacheBackendInterface $cache_backend, LanguageManagerInterface $language_manager, ModuleHandlerInterface $module_handler) {
parent::__construct('Plugin/rest/resource', $namespaces); parent::__construct('Plugin/rest/resource', $namespaces, 'Drupal\rest\Annotation\RestResource');
$this->setCacheBackend($cache_backend, $language_manager, 'rest_plugins'); $this->setCacheBackend($cache_backend, $language_manager, 'rest_plugins');
$this->alterInfo($module_handler, 'rest_resource'); $this->alterInfo($module_handler, 'rest_resource');
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
/** /**
* Provides a resource for database watchdog log entries. * Provides a resource for database watchdog log entries.
* *
* @Plugin( * @RestResource(
* id = "dblog", * id = "dblog",
* label = @Translation("Watchdog database log") * label = @Translation("Watchdog database log")
* ) * )
......
...@@ -19,7 +19,7 @@ ...@@ -19,7 +19,7 @@
/** /**
* Represents entities as resources. * Represents entities as resources.
* *
* @Plugin( * @RestResource(
* id = "entity", * id = "entity",
* label = @Translation("Entity"), * label = @Translation("Entity"),
* serialization_class = "Drupal\Core\Entity\Entity", * serialization_class = "Drupal\Core\Entity\Entity",
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment