Mercurial > hg > cmmr2012-drupal-site
diff core/modules/rest/src/Plugin/ResourceInterface.php @ 0:c75dbcec494b
Initial commit from drush-created site
author | Chris Cannam |
---|---|
date | Thu, 05 Jul 2018 14:24:15 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/core/modules/rest/src/Plugin/ResourceInterface.php Thu Jul 05 14:24:15 2018 +0000 @@ -0,0 +1,53 @@ +<?php + +namespace Drupal\rest\Plugin; + +use Drupal\Component\Plugin\PluginInspectionInterface; + +/** + * Specifies the publicly available methods of a resource plugin. + * + * @see \Drupal\rest\Annotation\RestResource + * @see \Drupal\rest\Plugin\Type\ResourcePluginManager + * @see \Drupal\rest\Plugin\ResourceBase + * @see plugin_api + * + * @ingroup third_party + */ +interface ResourceInterface extends PluginInspectionInterface { + + /** + * Returns a collection of routes with URL path information for the resource. + * + * This method determines where a resource is reachable, what path + * replacements are used, the required HTTP method for the operation etc. + * + * @return \Symfony\Component\Routing\RouteCollection + * A collection of routes that should be registered for this resource. + */ + public function routes(); + + /** + * Provides an array of permissions suitable for .permissions.yml files. + * + * A resource plugin can define a set of user permissions that are used on the + * routes for this resource or for other purposes. + * + * It is not required for a resource plugin to specify permissions: if they + * have their own access control mechanism, they can use that, and return the + * empty array. + * + * @return array + * The permission array. + */ + public function permissions(); + + /** + * Returns the available HTTP request methods on this plugin. + * + * @return array + * The list of supported methods. Example: array('GET', 'POST', 'PATCH'). + */ + public function availableMethods(); + +}