class EntityPut in Services 8.4
Same name in this branch
- 8.4 src/Plugin/Deriver/EntityPut.php \Drupal\services\Plugin\Deriver\EntityPut
- 8.4 src/Plugin/ServiceDefinition/EntityPut.php \Drupal\services\Plugin\ServiceDefinition\EntityPut
Same name and namespace in other branches
- 9.0.x src/Plugin/ServiceDefinition/EntityPut.php \Drupal\services\Plugin\ServiceDefinition\EntityPut
Plugin annotation
@ServiceDefinition(
id = "entity_put",
methods = {
"PUT"
},
translatable = true,
deriver = "\Drupal\services\Plugin\Deriver\EntityPut"
)
Hierarchy
- class \Drupal\Component\Plugin\PluginBase implements DerivativeInspectionInterface, PluginInspectionInterface
- class \Drupal\Component\Plugin\ContextAwarePluginBase implements ContextAwarePluginInterface
- class \Drupal\Core\Plugin\ContextAwarePluginBase implements CacheableDependencyInterface, ContextAwarePluginInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait
- class \Drupal\services\ServiceDefinitionBase implements ServiceDefinitionInterface
- class \Drupal\services\ServiceDefinitionEntityRequestContentBase implements ContainerFactoryPluginInterface
- class \Drupal\services\Plugin\ServiceDefinition\EntityPut
- class \Drupal\services\ServiceDefinitionEntityRequestContentBase implements ContainerFactoryPluginInterface
- class \Drupal\services\ServiceDefinitionBase implements ServiceDefinitionInterface
- class \Drupal\Core\Plugin\ContextAwarePluginBase implements CacheableDependencyInterface, ContextAwarePluginInterface uses DependencySerializationTrait, StringTranslationTrait, TypedDataTrait
- class \Drupal\Component\Plugin\ContextAwarePluginBase implements ContextAwarePluginInterface
Expanded class hierarchy of EntityPut
File
- src/
Plugin/ ServiceDefinition/ EntityPut.php, line 23
Namespace
Drupal\services\Plugin\ServiceDefinitionView source
class EntityPut extends ServiceDefinitionEntityRequestContentBase {
/**
* {@inheritdoc}
*/
public function processRoute(Route $route) {
$route
->setRequirement('_entity_access', $this
->getDerivativeId() . '.update');
}
/**
* {@inheritdoc}
*/
public function processRequest(Request $request, RouteMatchInterface $route_match, SerializerInterface $serializer) {
try {
$updated_entity = parent::processRequest($request, $route_match, $serializer);
/** @var \Drupal\Core\Entity\EntityInterface $entity */
$entity = $this
->getContextValue($this
->getDerivativeId());
if ($entity instanceof ContentEntityInterface) {
foreach ($updated_entity as $field_name => $field) {
$entity
->set($field_name, $field
->getValue());
}
}
else {
/** @var \Drupal\Core\Config\Entity\ConfigEntityInterface $updated_entity */
foreach ($updated_entity
->toArray() as $field_name => $field) {
$entity
->set($field_name, $field);
}
}
$entity
->save();
return $entity
->toArray();
} catch (\Exception $e) {
throw new HttpException(422, 'The supplied content body could not be serialized into an entity of the requested type.', $e);
}
}
}
Members
Name![]() |
Modifiers | Type | Description | Overrides |
---|---|---|---|---|
ContextAwarePluginBase:: |
protected | property | The data objects representing the context of this plugin. | |
ContextAwarePluginBase:: |
private | property | Data objects representing the contexts passed in the plugin configuration. | |
ContextAwarePluginBase:: |
protected | function | Wraps the context handler. | |
ContextAwarePluginBase:: |
protected | function |
Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
The cache contexts associated with this object. Overrides CacheableDependencyInterface:: |
9 |
ContextAwarePluginBase:: |
public | function |
The maximum age for which this object may be cached. Overrides CacheableDependencyInterface:: |
7 |
ContextAwarePluginBase:: |
public | function |
The cache tags associated with this object. Overrides CacheableDependencyInterface:: |
4 |
ContextAwarePluginBase:: |
public | function |
This code is identical to the Component in order to pick up a different
Context class. Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Gets a mapping of the expected assignment names to their context names. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Gets the defined contexts. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Gets the value for a defined context. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Gets the values for all defined contexts. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Set a context on this plugin. Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Sets a mapping of the expected assignment names to their context names. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function |
Sets the value for a defined context. Overrides ContextAwarePluginBase:: |
|
ContextAwarePluginBase:: |
public | function |
Validates the set values for the defined contexts. Overrides ContextAwarePluginInterface:: |
|
ContextAwarePluginBase:: |
public | function | Implements magic __get() method. | |
DependencySerializationTrait:: |
protected | property | An array of entity type IDs keyed by the property name of their storages. | |
DependencySerializationTrait:: |
protected | property | An array of service IDs keyed by property name used for serialization. | |
DependencySerializationTrait:: |
public | function | 1 | |
DependencySerializationTrait:: |
public | function | 2 | |
EntityPut:: |
public | function |
Processes the request and returns an array of data as appropriate. Overrides ServiceDefinitionEntityRequestContentBase:: |
|
EntityPut:: |
public | function |
Checks access for the ServiceDefintion. Overrides ServiceDefinitionBase:: |
|
PluginBase:: |
protected | property | Configuration information passed into the plugin. | 1 |
PluginBase:: |
protected | property | The plugin implementation definition. | 1 |
PluginBase:: |
protected | property | The plugin_id. | |
PluginBase:: |
constant | A string which is used to separate base plugin IDs from the derivative ID. | ||
PluginBase:: |
public | function |
Gets the base_plugin_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the derivative_id of the plugin instance. Overrides DerivativeInspectionInterface:: |
|
PluginBase:: |
public | function |
Gets the definition of the plugin implementation. Overrides PluginInspectionInterface:: |
3 |
PluginBase:: |
public | function |
Gets the plugin_id of the plugin instance. Overrides PluginInspectionInterface:: |
|
PluginBase:: |
public | function | Determines if the plugin is configurable. | |
ServiceDefinitionBase:: |
public | function |
Returns an array of service request arguments. Overrides ServiceDefinitionInterface:: |
|
ServiceDefinitionBase:: |
public | function |
Returns a translated string for the category. Overrides ServiceDefinitionInterface:: |
|
ServiceDefinitionBase:: |
public | function |
Returns a translated description for the constraint description. Overrides ServiceDefinitionInterface:: |
|
ServiceDefinitionBase:: |
public | function |
Return an array of allowed methods. Overrides ServiceDefinitionInterface:: |
|
ServiceDefinitionBase:: |
public | function |
Returns the appended path for the service. Overrides ServiceDefinitionInterface:: |
|
ServiceDefinitionBase:: |
public | function |
Returns a translated string for the service title. Overrides ServiceDefinitionInterface:: |
|
ServiceDefinitionBase:: |
public | function |
Allow plugins to alter the response object before it is returned. Overrides ServiceDefinitionInterface:: |
|
ServiceDefinitionBase:: |
public | function |
Returns a boolean if this service definition supports translations. Overrides ServiceDefinitionInterface:: |
|
ServiceDefinitionEntityRequestContentBase:: |
protected | property | ||
ServiceDefinitionEntityRequestContentBase:: |
public static | function |
Creates an instance of the plugin. Overrides ContainerFactoryPluginInterface:: |
|
ServiceDefinitionEntityRequestContentBase:: |
public | function |
Overrides ContextAwarePluginBase:: |
|
StringTranslationTrait:: |
protected | property | The string translation service. | 1 |
StringTranslationTrait:: |
protected | function | Formats a string containing a count of items. | |
StringTranslationTrait:: |
protected | function | Returns the number of plurals supported by a given language. | |
StringTranslationTrait:: |
protected | function | Gets the string translation service. | |
StringTranslationTrait:: |
public | function | Sets the string translation service to use. | 2 |
StringTranslationTrait:: |
protected | function | Translates a string to the current language or to a given language. | |
TypedDataTrait:: |
protected | property | The typed data manager used for creating the data types. | |
TypedDataTrait:: |
public | function | Gets the typed data manager. | 2 |
TypedDataTrait:: |
public | function | Sets the typed data manager. | 2 |