berrygoudswaard/cakephp-api


Keywords
api, cakephp
License
MIT

Documentation

CakePHP API Component

This plugin contains a component that make it easier to create API output with CakePHP

Requirements

  • CakePHP 3.1+

Installation

composer require berrygoudswaard/cakephp-api

Usage

In your app's config/bootstrap.php add:

Plugin::load('BerryGoudswaard/Api');

Then load the component where you need it by adding the following code to your controller:

$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',
    ]
]);

Output data

public function index()
{
    $tags = $this->Tags->find();

    $this->Api->addData('tags', $tags);
    return $this->Api->output();
}

The code above will output something like:

{
    "message": "OK",
    "code": 200,
    "data": {
        "tags": {
            "items": [
                {
                    "id": 1,
                    "tag": "cakephp"
                }, {
                    "id": 2,
                    "tag": "plugin"
                }
            ]
        }
    }
}