2017 © Pedro Peláez
 

library rest-api

image

adeira/rest-api

  • Sunday, October 16, 2016
  • by mrtnzlml
  • Repository
  • 1 Watchers
  • 0 Stars
  • 38 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 1 Versions
  • 3 % Grown

The README.md

Build Status, (*1)

! Work In Progress !

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);
    }

}

The Versions