A toolkit for creating APIs in Laravel.
You can install the package via composer:
composer require juststeveking/laravel-api-toolkit
You can publish the config file with:
php artisan vendor:publish --provider="JustSteveKing\Laravel\ApiToolkit\ApiToolkitServiceProvider" --tag="config"
This is the contents of the published config file:
return [
'resource_name' => '%sResource',
'policy_name' => '%sPolicy',
'seeder_name' => '%sSeeder',
'controllers' => [
[
'name' => 'IndexController',
'options' => [
'--invokable',
]
],
[
'name' => 'CreateController',
'options' => [
'--invokable',
]
],
[
'name' => 'ShowController',
'options' => [
'--invokable',
]
],
[
'name' => 'UpdateController',
'options' => [
'--invokable',
]
],
[
'name' => 'DeleteController',
'options' => [
'--invokable',
]
],
],
'form_requests' => [
'CreateRequest',
'UpdateRequest',
],
];
To get starteed using this, there is only one command you really need to worry about: api-toolkit:resource
.
The only option you need to pass it is the eloquent Model you wish to create and create the APi blueprint for.
php artisan api-toolkit:resource Post
The above command will generate:
app/Models/Post.php
app/Policies/PostPolicy.php
- Class name can be altered in configapp/Http/Resources/PostResource.php
- Class name can be altered in configapp/Http/Requests/Api/Post/CreateRequest.php
- Class name can be altered in configapp/Http/Requests/Api/Post/UpdateRequest.php
- Class name can be altered in configapp/Http/Controllers/Post/IndexController.php
- Class name can be altered in configapp/Http/Controllers/Post/CreateController.php
- Class name can be altered in configapp/Http/Controllers/Post/ShowController.php
- Class name can be altered in configapp/Http/Controllers/Post/UpdateController.php
- Class name can be altered in configapp/Http/Controllers/Post/DeleteController.php
- Class name can be altered in configdatabase/seeds/PostSeeder.php
- Class name can be altered in configdatabase/factories/PostFactory.php
database/migrations/xxxx_xx_xx_xxxxxx_create_posts_table.php
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.