iramgutierrez/lumen-resource-api

Create a resource API for Lumen 5.3: entity, repository, manager, validator, controller, migration, table , route and documentation

1.3.4 2016-11-14 18:52 UTC

This package is not auto-updated.

Last update: 2024-04-22 12:55:53 UTC


README

Software License

Total Downloads

Full resource generator for API RESTful,

This package implements the layers pattern design, include:

  • Entity
  • Controller
  • Manager
  • Validator
  • Repository
  • Migration
  • Route
  • Documentation (Require apidocjs installed)

Installation

Add the following line to your composer.json file:

"iramgutierrez/lumen-resource-api": "1.3.*"

Run composer update to get the package.

Once composer has installed the package add this line of code in your bootstrap/app.php file:

$app->register(\IramGutierrez\API\APIServiceProvider::class);

Migrations and Configuration Publishing

Add this line of code to the $commands protected array located in your app/Console/Kernel.php file:

\Laravelista\LumenVendorPublish\VendorPublishCommand::class

Run php artisan vendor:publish to publish this package configuration and migrations. Afterwards you can edit the file config/resource_api.php to set the namespace for the resources generated.

Run migration to create required tables

php artisan migrate

Usage

Now, you should have available the Artisan command: create-resource-api and can be used like this:

php artisan create-resource-api {Entity}

Example

Run

php artisan create-resource-api Test

And, the command ask you for the table name:

Table name [tests]:

namespace:

Path name [API]:

prefix route:

Prefix route []:

if do you want generate documentation:

Generate documentation? (Require apidocjs) (yes/no) [yes]:

if do you want generate the migration file:

Generate migration? (yes/no) [yes]:

if do you want run migration:

Run migration? (yes/no) [yes]:

if do you want add the route resource in routes.php file:

Add routes resource? (yes/no) [yes]:

and if do you want add some middleware:

Middlewares or middleware groups (comma separated) []:

When the execution is finished, you should have available the following functional routes:

Route Method Uses Action
/tests GET API\TestController@index Request all tests
/tests POST API\TestController@store Store a test
/tests/:id GET API\TestController@show Request a specific test
/tests/:id PUT API\TestController@update Update a specific test
/tests/:id DELETE API\TestController@destroy Delete a specific test

License

The Lumen Resource API package is released under the MIT License.