/laravel-api

Package helping with API development

Primary LanguagePHPMIT LicenseMIT

English description | Russian description

Laravel 5 API

Latest Stable Version Latest Unstable Version License

This package allows to easily and quickly setup basics for API.

Content

Installation

Install this package with composer using the following command:

composer require bwt-team/laravel-api

Setup in Laravel

When composer updated, add service provider into providers array in config/app.php.

BwtTeam\LaravelAPI\Providers\ApiServiceProvider::class

This service provider will register api macros for more comfortable work. You will have the following format of call available in api format:

response()->api($data)

In full format it will look as following:

new \BwtTeam\LaravelAPI\Response\ApiResponse($data)

Also, this service provider will allow to publish config file in order to update package settings according to your needs. Use the following command for publication:

php artisan vendor:publish --provider="BwtTeam\LaravelAPI\Providers\ApiServiceProvider" --tag=config

To make all responses (including alerts etc) be sent in the same format, change class parent to \BwtTeam\LaravelAPI\Exceptions\Handler in App\Exceptions\Handler class

class Handler extends \BwtTeam\LaravelAPI\Exceptions\Handler

And middleware \BwtTeam\LaravelAPI\Middleware\Api should be connected to specific path (or the whole app) to make this path be handled as API method.

If you are using App\Http\Requests class instances for validation, you need to inherit from BwtTeam\LaravelAPI\Requests\ApiRequest, rather than Illuminate\Foundation\Http\FormRequest.

Setup in Lumen

After composer update register a service provider, by adding the following lines into bootstrap/app.php:

$app->register(\BwtTeam\LaravelAPI\Providers\ApiServiceProvider::class);

Copy config file vendor/bwt-team/laravel-api/config/api.php into config directory, which is stored in root directory (or create it yourself if it is missing) and set it up according to your needs. To load settings from this file in bootstrap/app.phpadd the following lines:

$app->configure('api');

To make all responses (including alerts etc) be sent in the same format, change class parent to BwtTeam\LaravelAPI\Exceptions\LumenHandler in App\Exceptions\Handler

class Handler extends \BwtTeam\LaravelAPI\Exceptions\LumenHandler

And middleware \BwtTeam\LaravelAPI\Middleware\Api should be connected to specific path (or the whole app) to make this path be handled as API method.

License

This package is using MIT.