contributte / api
Powerfull API [REST/Relay/Middleware/GraphQL/DataQL] for Nette Framework
Installs: 10 968
Dependents: 0
Suggesters: 0
Security: 0
Stars: 10
Watchers: 4
Forks: 2
Open Issues: 0
Requires
- php: >= 5.6
- contributte/middlewares: ^0.3.0
- contributte/phpdoc: ^0.1.0
- contributte/psr7-http-message: ^0.2.0
Requires (Dev)
- mockery/mockery: ^0.9.9
- nette/di: ^2.4.9
- ninjify/nunjuck: ^0.1.4
- ninjify/qa: ^0.4.0
- tracy/tracy: ^2.4.8
Suggests
- nette/di: to register Nette extensions [ApiAnnotationsExtension]
- tracy/tracy: for tracy panel [ApiPanel]
README
💥 Powerful API (PSR-7
, REST
, Relay
, Middleware
, GraphQL
, DataQL
, Annotations
) for Nette Framework
.
❗ This project is discontinued.
👍 It has been moved under Apitte organization and split into more repositories (⚡).
Contributte
Apitte
Migration
Everything is pretty much same except (⚠️) namespaces.
#1 Install
Before
composer require contributte/api
After
There are more features and more packages. Just check it out. 💪
composer require apitte/core composer require apitte/debug composer require apitte/mapping composer require apitte/middlewares composer require apitte/mapping composer require apitte/openapi
#2 Usage
namespace App\Controllers; use Contributte\Api\Annotation\Controller\Controller; use Contributte\Api\Annotation\Controller\Method; use Contributte\Api\Annotation\Controller\Path; use Contributte\Api\Annotation\Controller\RootPath; use Contributte\Api\Http\ApiRequest; use Contributte\Api\Http\ApiResponse; use Contributte\Api\UI\Controller\IController; /** * @Controller * @RootPath("/hello") */ final class HelloController implements IController { /** * @Path("/world") * @Method("GET") * @param ApiRequest $request * @param ApiResponse $response * @return ApiResponse */ public function index(ApiRequest $request, ApiResponse $response) { return $response->writeBody('Hello world!'); } }
After
namespace App\Controllers; use Apitte\Core\Annotation\Controller\Controller; use Apitte\Core\Annotation\Controller\Method; use Apitte\Core\Annotation\Controller\Path; use Apitte\Core\Annotation\Controller\RootPath; use Apitte\Core\Http\ApiRequest; use Apitte\Core\Http\ApiResponse; use Apitte\Core\UI\Controller\IController; /** * @Controller * @RootPath("/hello") */ final class HelloController implements IController { /** * @Path("/world") * @Method("GET") */ public function index(ApiRequest $request, ApiResponse $response) { return $response->writeBody('Hello world!'); } }
Thank you for understanding. We would like to make API event better.