This plugin contains a component that make it easier to create API output with CakePHP, (*1)
composer require berrygoudswaard/cakephp-api
In your app's config/bootstrap.php
add:, (*2)
Plugin::load('BerryGoudswaard/Api');
Then load the component where you need it by adding the following code to your controller:, (*3)
$this->loadComponent('BerryGoudswaard/Api.Api', [ 'cors' => [ 'allowHeaders' => ['Content-Type', 'Authorization'], 'allowMethods' => ['GET', 'POST', 'PUT', 'DELETE'], 'allowOrigins' => ['http://localhost:4200', 'http://www.berrygoudswaard.nl'], 'allowCredentials' => 'true', ] ]);
public function index() { $tags = $this->Tags->find(); $this->Api->addData('tags', $tags); return $this->Api->output(); }
The code above will output something like:, (*4)
{ "message": "OK", "code": 200, "data": { "tags": { "items": [ { "id": 1, "tag": "cakephp" }, { "id": 2, "tag": "plugin" } ] } } }