Code scaffolding for REST API project by database schema. This package is available also on packagist. And installation via packagist is preferred way.
There are two open source REST API projects on GitHub, developed using this generator:
- add
"tmphp/rest-api-generators": "dev-master"
to your composer.json (node"require"
) - set
"minimum-stability": "dev"
in your composer.json - run
composer update
Open your config/app.php
and add this line in providers
section
TMPHP\RestApiGenerators\GeneratorsServiceProviders::class,
Dingo\Api\Provider\LaravelServiceProvider::class,
Way\Generators\GeneratorsServiceProvider::class,
Xethron\MigrationsGenerator\MigrationsGeneratorServiceProvider::class,
Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class,
L5Swagger\L5SwaggerServiceProvider::class,
Abhijitghogre\LaravelDbClearCommand\LaravelDbClearCommandServiceProvider::class,
Felixkiss\UniqueWithValidator\ServiceProvider::class,
Execute command
php artisan vendor:publish
Open your config/jwt.php
and change line with a user's model namespace.
'user' => 'App\REST\User',
- set proper connection to the database
- add configuration for dingo/api package. See detailed docs here
- required configuration string is
API_DOMAIN=yourdomain.dev
Add middleware to App/Http/Kernel.php to the $routeMiddleware array.
'check.role.access' => \TMPHP\RestApiGenerators\Middleware\CheckAccess::class,
Add '/routes' path in 'config/l5-swagger.php', annotation path.
'annotations' => [base_path('app'), base_path('routes')],
Make sure, that you have created database schema. For generating relations you should have FOREIGN KEY Constraints.
- Run artisan command for code scaffolding.
php artisan make:rest-api-project
- Generate swagger documentation.
php artisan l5-swagger:generate
- Execute command
composer dump-autoload
- 🐘 💥 👍 👍