Statistics
16871
20
8
15d
Badges
Tags
api
Dependencies

Apitte\Core

🔧 Core API library for Nette Framework.


Build Status Code coverage Licence

Downloads this Month Downloads total Latest stable

Discussion / Help

Join the chat

Install

composer require apitte/core

Version

State Version Branch PHP Composer
development ^0.5.0 master >= 7.1 minimum-stability: dev, prefer-stable: true
stable ^0.4.0 master >= 7.1
stable ^0.3.0 master >= 5.6

Example

Just define some endpoints, I mean controllers. Place some annotations and thats all.

namespace App\Controllers;

use Apitte\Core\Annotation\Controller\Controller;
use Apitte\Core\Annotation\Controller\ControllerPath;
use Apitte\Core\Annotation\Controller\Method;
use Apitte\Core\Annotation\Controller\Path;
use Apitte\Core\Http\ApiRequest;
use Apitte\Core\Http\ApiResponse;
use Apitte\Core\UI\Controller\IController;

/**
 * @Controller
 * @ControllerPath("/hello")
 */
final class HelloController implements IController
{

    /**
     * @Path("/world")
     * @Method("GET")
     */
    public function index(ApiRequest $request, ApiResponse $response): ApiResponse
    {
        return $response->writeBody('Hello world!');
    }
}

And register your controller as service.

services:
    - App\Controllers\HelloController

As you can see, the architecture is ultra simple. ApiRequest & ApiResponse wrap PSR-7, so you can re-use these declared methods.

Overview

Maintainers


Milan Felix Šulc

Marek Bartoš

The development is sponsored by Tlapnet and a lot of coffees. Thank you guys! 👍


Thank you for testing, reporting and contributing.

  • v0.3 v0.3

    Bump! 🎃

    Diff: v0.2...v0.3

    Changes:

    • Mapping: normalize request parameter with respect to parameter IN [#14] (thanks @Trejjam)
    • Openapi: extend configuration [#17] (thanks @Trejjam)
    • Fix bug with required non-empty parameter [#15] (thanks @Trejjam)

    This is last PHP 5.6 release.

  • v0.2 v0.2

    Bump! 🇫🇰

    Diff: v0.1.1...v0.2

    Changes:

    • added RequestMapper/ResponseMapper + validation
    • better ArraySerializator
    • added frequently used method to Endpoint
    • simplify events in Dispatcher
    • pass query parameters into attributes
    • validate only fullpath (GroupPath+ControllerPath+Path)
    • better exception [#13]
  • v0.1.1

    Bump! ⛵️

    Diff: v0.1...v0.1.1

    Changes:

    • typo [#5]
    • allow prefixed annotations [#6, #7]
    • better RequestParameters [#8]
  • v0.1 v0.1

    First bump! 👊

Is this addon outdated? Did you find an issue? Please report it.

Componette Componette admin@componette.com