venya / lp-rest
Зависимость для работы с REST АПИ для Lumen | Laravel
1.4.1
2018-12-27 10:53 UTC
Requires
- php: >=7.0.0
Requires (Dev)
- illuminate/routing: ^5.4
- laravel/lumen-framework: 5.4.*
- phpunit/phpunit: ~4.0
This package is auto-updated.
Last update: 2026-05-28 03:46:18 UTC
README
#Lp api rest
This package allows you to create a simple REST API on the basis of standard models (Eloquent) of the Larave 5.x Framework.
##install
- composer require venya/lp-rest
##Configure
-
Add app.php
$app->register(LpRest\RestServiceProvider::class); //$app->register(LpRest\RestServiceProviderLumen::class); //for Lumen -
Add in AppServiceProvider::register
//Set model aliases app()->afterResolving(CommonRepositoryModelProvider::class, function(CommonRepositoryModelProvider $mp) { $mp->addModelAliases('user', \App\User::class); }); //Change access provider $this->app->bind(CommonRepositoryAccessProvider::class, ApiAccessProvider::class ); //Change response schema $this->app->bind(CommonResponse::class, ApiCustomResponse::class ); //Custom routes and etc $this->app->afterResolving(RestServiceHelper::class, function(RestServiceHelper $sp) { $sp->setRouteGroupOptions([ 'prefix' => 'api/rest', //'middleware' => 'auth', ]); });
##API
- GET /api/rest/:modelName[/:relations] - get all items
- GET /api/rest/:modelName/:id[/:relations] - get one item
- POST /api/rest/:modelName {:json body} - create item
- PUT /api/rest/:modelName/:id {:json body} - update item
- DELETE /api/rest/:modelName/:id - remove item
- POST /api/rest/:modelName/:id {:json body - arguments} - Call model method
- POST /api/rest/multi {:json body - config any query} - Causes several methods at a time
TODO FILTER DESCRIPTION
- /api/rest/file?filter[]=created_at:range:2018-03-01,2018-05-20&filter[]=tags.id:1&filter[]=id:in:1,2,3,18