Skip to content

Log-zz-ikIO/laravel-generators

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

laravel5-api-generator

Generates boilerplate for laravel REST API: migration, controller, model, request and route.

Installation

``` composer require --dev asmiarowski/laravel5-api-generator ```

Add this to app\Providers\AppServiceProvider inside boot() method:

``` if ($this->app->environment() == 'local') { $this->app->register('Smiarowski\Generators\GeneratorsServiceProvider'); } ``` For POST / PUT data to work you either have to send your request with `Accept: application/json` header or set up json responses globally in app/Http/Requests/Request.php like so: ``` /** * Overwrite Laravel Request method because API is always returning json * @return bool */ public function wantsJson() { return true; } ```

Command syntax

``` php artisan make:api-resource --schema=":():(); [...]" --softdeletes ```

Command options

--schema - required, schema of your migration, validators will be set based on fields and types specified.

--softdeletes - optional, add softDeletes() to migration

Column types

http://laravel.com/docs/5.1/migrations#creating-columns

Custom types

- email - puts string type column in your migration and email validation for your request

Column options

foreign, index, unique, default, nullable, first, after, unsigned

Example command

``` php artisan make:api-resource emails --schema="email:email:unique; title:string; body:text; status:integer:default(1); user_id:integer:foreign(users)" --softdeletes ```

Creates:

app/Http/Controllers/EmailController.php

app/Htpp/Requests/EmailRequest.php

app/Email.php

database/migrations/*timestamp*_create_emails_table.php

And appends resource routes to app/routes.php with pattern for id of the resource.

Releases

No releases published

Packages

No packages published

Languages