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)
Add the following line to your composer.json
file:
"iramgutierrez/laravel-resource-api": "1.0.*"
Run composer update
to get the package.
Once composer has installed the package add this line of code to the providers
array located in your config/app.php
file:
IramGutierrez\API\APIServiceProvider::class,
Add this line of code to the $commands
protected array located in your app/Console/Kernel.php
file:
\IramGutierrez\API\ResourceAPI::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
Now, you should have available the Artisan command: create-resource-api
and can be used like this:
php artisan create-resource-api {Entity}
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 |
The Laravel Resource API package is released under the MIT License.