icodr8 / contao-restful-webservices
RESTful Webservices for Contao OpenSource CMS
Installs: 5
Dependents: 0
Suggesters: 0
Security: 0
Stars: 6
Watchers: 4
Forks: 2
Open Issues: 1
Type:contao-module
Requires
- php: >=5.3.2
- contao-community-alliance/composer-installer: *
- contao-legacy/haste: *
- contao/core: >=3.2,<3.3-dev
Replaces
- contao-legacy/restful-webservices: *
This package is not auto-updated.
Last update: 2022-02-01 12:31:28 UTC
README
The "RESTful Webservices" extension is a helper library for developers to realize RESTful webservices in your own extension
License
This Contao extension is licensed under the terms of the LGPLv3. http://www.gnu.org/licenses/lgpl-3.0.html
Dependencies
Links
https://contao.org/en/extension-list/view/restful-webservices.html
Documentation
Define the webservice "categories"
// systems/modules/mymodule/config/config.php $GLOBALS['RESTFUL_WEBSERVICES']['ROUTING']['categories'] = array ( // Define the webservice location (required definition) // Callable via http://localhost/mycontao/interface/categories/12/my_token 'pattern' => '/categories/{id}/{token}', // Restrict methods (optional definition) // You can use GET, PUT, POST and DELETE 'methods' => array('GET', 'POST'), // Set requirements for the pattern values (optional definition) 'requirements' => array ( 'id' => '\d+', ), // Restrict access by tokens (optional definition) 'tokens' => array ( 'my_token', ), // Restrict access by ip addresses (optional definition) 'ips' => array ( '127.0.0.1', ), // Restrict CORS access by ip addresses (optional definition) 'cors' => array ( '192.168.1.180', ) );
Declare the webservice class "WebserviceCategories"
// systems/modules/mymodule/webservices/WebserviceCategories.php namespace MyAppNamespace; use \Haste\Http\Response\JsonResponse; class WebserviceCategories extends \RESTfulWebservices\RESTfulController { public function get() { $arrData = array(); // Add "Hello World!" to the json output $arrData['status'] = 'Hello World!'; // Send response $objResponse = new JsonResponse(); $objResponse->setContent($arrData, JSON_PRETTY_PRINT); $objResponse->send(); } public function put() { // Code for PUT requests } public function post() { // Code for POST requests } public function delete() { // Code for DELETE requests } }