Skip to content

It is a package for laravel projects. It can generate code for a good starter RESTful API backend server.

License

Notifications You must be signed in to change notification settings

YanDatsiuk/Laravel-REST-API-generator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Codacy Badge License

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
  • 🐘 💥 👍 👍

About

It is a package for laravel projects. It can generate code for a good starter RESTful API backend server.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages