class MyModuleBookResourceController in RESTful Web Services 7
Same name and namespace in other branches
- 7.2 restws.api.php \MyModuleBookResourceController
Example controller class for the mymodule_book resource.
Hierarchy
- class \MyModuleBookResourceController implements RestWSResourceControllerInterface
Expanded class hierarchy of MyModuleBookResourceController
1 string reference to 'MyModuleBookResourceController'
- hook_restws_resource_info in ./
restws.api.php - Define restws compatible resources.
File
- ./
restws.api.php, line 133 - This file contains no working PHP code; it exists to provide additional documentation for doxygen as well as to document hooks in the standard Drupal manner.
View source
class MyModuleBookResourceController implements RestWSResourceControllerInterface {
/**
* @see hook_entity_property_info()
* @see RestWSResourceControllerInterface::propertyInfo()
*/
public function propertyInfo() {
return array(
'properties' => array(
'title' => array(
'type' => 'text',
'label' => t('Book title'),
'setter callback' => 'entity_property_verbatim_set',
),
'author' => array(
'type' => 'text',
'label' => t('Author'),
'setter callback' => 'entity_property_verbatim_set',
),
'pages' => array(
'type' => 'integer',
'label' => t('Number of pages'),
'setter callback' => 'entity_property_verbatim_set',
),
'price' => array(
'type' => 'decimal',
'label' => t('Price'),
'setter callback' => 'entity_property_verbatim_set',
),
),
);
}
/**
* @see RestWSResourceControllerInterface::wrapper()
*/
public function wrapper($id) {
$book = mymodule_book_load($id);
$info = $this
->propertyInfo();
return entity_metadata_wrapper('mymodule_book', $book, array(
'property info' => $info['properties'],
));
}
/**
* @see RestWSResourceControllerInterface::create()
*/
public function create(array $values) {
try {
$book = mymodule_book_save($values);
return $book->id;
} catch (Exception $e) {
throw new RestWSException('Creation error', 406);
}
}
/**
* @see RestWSResourceControllerInterface::read()
*/
public function read($id) {
return mymodule_book_load($id);
}
/**
* @see RestWSResourceControllerInterface::update()
*/
public function update($id, array $values) {
throw new RestWSException('Not implemented', 501);
}
/**
* @see RestWSResourceControllerInterface::delete()
*/
public function delete($id) {
try {
mymodule_book_delete($id);
} catch (Exception $e) {
throw new RestWSException('Book not found', 404);
}
}
/**
* @see RestWSResourceControllerInterface::access()
*/
public function access($op, $id) {
return mymodule_book_access($op, $id);
}
/**
* @see RestWSResourceControllerInterface::resource()
*/
public function resource() {
return 'mymodule_book';
}
}
Members
Name | Modifiers | Type | Description | Overrides |
---|---|---|---|---|
MyModuleBookResourceController:: |
public | function |
Overrides RestWSResourceControllerInterface:: |
|
MyModuleBookResourceController:: |
public | function |
Overrides RestWSResourceControllerInterface:: |
|
MyModuleBookResourceController:: |
public | function |
Overrides RestWSResourceControllerInterface:: |
|
MyModuleBookResourceController:: |
public | function |
Overrides RestWSResourceControllerInterface:: |
|
MyModuleBookResourceController:: |
public | function |
Overrides RestWSResourceControllerInterface:: |
|
MyModuleBookResourceController:: |
public | function |
Overrides RestWSResourceControllerInterface:: |
|
MyModuleBookResourceController:: |
public | function |
Overrides RestWSResourceControllerInterface:: |
|
MyModuleBookResourceController:: |
public | function |
Overrides RestWSResourceControllerInterface:: |