Структура каталогов:
имя_модуля -> config -> install -> rest.resource.location_api.yml
id: location_api
plugin_id: location_api
granularity: resource
configuration:
methods:
- GET
- POST
- PATCH
- DELETE
formats:
- json
authentication:
- cookie
имя_модуля/src/plugin/rest/resource/LocationApi.php
<?php
namespace Drupal\locations\Plugin\rest\resource;
use Drupal\rest\Plugin\ResourceBase;
use Drupal\rest\ResourceResponse;
use Drupal\Core\Controller\ControllerBase;
//use Drupal\node\Entity\Node;
//use Drupal\taxonomy\Entity\Term;
use Drupal\user\Entity\User;
//use Drupal\Core\Database\Connection;
use Symfony\Component\HttpFoundation\JsonResponse;
/**
* Provides a KDR's Rest Custom Resource For Locations
*
* @RestResource(
* id = "location_api",
* label = @Translation("KDR's Rest Custom Resource For Location"),
* uri_paths = {
* "canonical" = "/kdr-apis/v1.0/location/{sl_id}",
* "https://www.drupal.org/link-relations/create" = "/kdr-apis/v1.0/location"
* }
* )
*/
class LocationApi extends ResourceBase {
}
но когда я устанавливаю модуль, он возвращает ошибку,
Сообщение
Drupal \ Component \ Plugin \ Exception \ PluginNotFoundException: плагин "entity_bundle: node" не существует. Допустимые идентификаторы плагинов для Drupal \ Core \ Condition \ ConditionManager: node_type, request_path, current_theme, user_role в Drupal \ Core \ Plugin \ DefaultPluginManager-> doGetDefinition () (строка 53 из /home/linuxdem/kdr.linuxdemos.me/core/lib / Drupal / Component / Plugin / Discovery / DiscoveryTrait.php).