tmphp/rest-api-generators

Laravel REST API scaffolding.
157 10
Install
composer require tmphp/rest-api-generators
PHP:>=5.6.4
License:MIT
Last Updated:Jun 14, 2019
Links: GitHub  ·  Packagist
Maintainer: YanDatsyuk

Codacy Badge

Laravel REST API Generator

Code scaffolding for REST API project by database schema. This package is available also on packagist. And installation via packagist is preferred way.

Examples

There are two open source REST API projects on GitHub, developed using this generator:

Installation

Package installation

  • add "tmphp/rest-api-generators": "dev-master" to your composer.json (node "require")
  • set "minimum-stability": "dev" in your composer.json
  • run composer update

Configuration

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,

Publishing configuration files

Execute command

php artisan vendor:publish

Open your config/jwt.php and change line with a user's model namespace.

'user' => 'App\REST\User',

Configurating .env file

  • set proper connection to the database
  • add configuration for dingo/api package. See detailed docs here
  • required configuration string is API_DOMAIN=yourdomain.dev

Register middleware

Add middleware to App/Http/Kernel.php to the $routeMiddleware array.

'check.role.access' => \TMPHP\RestApiGenerators\Middleware\CheckAccess::class,

Swagger configuration

Add '/routes' path in 'config/l5-swagger.php', annotation path.

'annotations' => [base_path('app'), base_path('routes')],

Database schema

Make sure, that you have created database schema. For generating relations you should have FOREIGN KEY Constraints.

Generating code for REST API project

  • 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
  • :elephant: :boom: :+1: :+1:

Related Packages

gabrieloliverio/laravel5-generators

Database metadata-based generators for Laravel 5

1
erirk/paypalpayment

laravel-paypalpayment is simple package help you process direct credit card paym...

0
doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

631,580,251 9,707
laravel/framework

The Laravel Framework.

580,311,802 34,925
laravel/tinker

Powerful REPL for the Laravel framework.

489,754,436 7,444