Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/contributte/api-router-skeleton

🎁 API router project skeleton based on Nette Framework (@nette) and Contributte (@contributte) libraries by @f3l1x & @paveljanda.
https://github.com/contributte/api-router-skeleton

api contributte nette-framework router

Last synced: 6 days ago
JSON representation

🎁 API router project skeleton based on Nette Framework (@nette) and Contributte (@contributte) libraries by @f3l1x & @paveljanda.

Awesome Lists containing this project

README

        

![](https://heatbadger.now.sh/github/readme/contributte/api-router-skeleton/)














Website 🚀 contributte.org | Contact 👨🏻‍💻 f3l1x.io | Twitter 🐦 @contributte



-----

## Goal

Main goal is to provide skeleton for [contributte/api-router](https://github.com/contributte/api-router) library.

Focused on:

- latest PHP 8
- `nette/*` packages

## Demo

https://examples.contributte.org/api-router-skeleton/

## Installation

To install latest version of `contributte/api-router-skeleton` use [Composer](https://getcomposer.org).

```
composer create-project -s dev contributte/api-router-skeleton acme
```

Start PHP development server via `make dev`.

And take a look at:

- [GET] http://localhost:8000/api/ping
- [POST] http://localhost:8000/api/login

## Get Started

- Using `contributte/api-router` for routing
- Implementing `IPresenter` in endpoints (`App\Controllers\LoginController`) instead of extending `UI\Presenter`
- Extending `ApiResponse` from Nette `JsonResponse`, just to make it more simple to add more custom headers and so on
- `LoginController` and `ErrorController` is using `ApiResponseFormatter` for formatting succes message, payload data or and exception

## Development

See [how to contribute](https://contributte.org/contributing.html) to this package.

This package is currently maintained by these authors.





-----

Consider to [support](https://contributte.org/partners.html) **contributte** development team.
Also thank you for using this package.