16/10
2016
dev-master
9999999-dev
MIT
The Requires
The Development Requires
Wallogit.com
2017 © Pedro Peláez
Install:, (*2)
composer require adeira/rest-api
Use:, (*3)
extensions:
restApi: Adeira\Api\DI\Extension
fakeSession: Kdyby\FakeSession\DI\FakeSessionExtension # TODO: remove
Configure:, (*4)
restApi:
errorPresenter: 'Api:Error' # custom error presenter for API
enableForModules: # for these modules custom error presenter will be used and session will be disabled (TODO: rename)
- Api
- '' # for destination without module (Homepage:default - TODO: improve)
presenterMapping:
Api: App\ApiModule\Presenters\*Presenter
Create first REST API endpoint (simple presenter):, (*5)
<?php declare(strict_types = 1);
namespace App\Presenters;
class UsersPresenter extends \Adeira\Api\RestPresenter
{
public function readAll()
{
$this->payload->test = 'ok';
}
}
Custom error presenter example (work in progress):, (*6)
<?php declare(strict_types = 1);
namespace Adeira\Connector\Presenters;
use Nette;
class ApiErrorPresenter extends \Adeira\Api\RestPresenter
{
public function run(Nette\Application\Request $request): Nette\Application\IResponse
{
$this->payload = new \stdClass;
$this->payload->error = [
'message' => 'Internal Server Error',
];
$this->payload->status = 'error';
return new \Adeira\Api\JsonResponsePretty($this->payload);
}
}
MIT