Skip to content
This repository was archived by the owner on Jan 26, 2018. It is now read-only.

mrtnzlml/rest-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Build Status

! Work In Progress !

Install:

composer require adeira/rest-api

Use:

extensions:
	restApi: Adeira\Api\DI\Extension
	fakeSession: Kdyby\FakeSession\DI\FakeSessionExtension # TODO: remove

Configure:

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):

<?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):

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

}

About

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

 

Packages

No packages published

Languages