API Generator for Laravel 5
Switch branches/tags
Nothing to show
Clone or download
Type Name Latest commit message Commit time
Failed to load latest commit information.
src Using Route::apiResource instead of Route::resource Dec 5, 2018
.gitignore resolve #4 Jul 3, 2018
README.md Update README.md Nov 21, 2018
composer.json Update composer.json Dec 5, 2018
licence.md Licence and Readme updates Jul 27, 2017


API Generator for Laravel 5.4 and above

Package to create API Controller and Route entry with one Artisan command.

For now we're starting with only one simple command and will expand functionality as needed. Please submit your suggestions in Issues section.

Notice: if you want to generate not only API, but full admin panel - check out our QuickAdminPanel.com

Installation and Usage

  1. Install the package via composer require laraveldaily/apigenerator

  2. Add Laraveldaily\Apigenerator\ApiGeneratorProvider::class to your config\app.php providers.

  3. That's it: run php artisan make:api --model=XXXXX where XXXXX is your model name.

This command will generate API Controller and new entry in routes/api.php file.

Notice: Model should exist already, our package won't create it.


php artisan make:api --model=Project

Will generate the file app\Http\Controllers\Api\ProjectsController.php:


namespace App\Http\Controllers\Api;

use App\Project;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;

class ProjectsController extends Controller
    public function index()
        return Project::all();

    public function store(Request $request)
        $project = Project::create($request->all());

        return $project;

    public function show($id)
        return Project::findOrFail($id);

    public function update(Request $request, $id)
        $project = Project::findOrFail($id);

        return $project;

    public function destroy($id)
        $project = Project::findOrFail($id);

        return '';

And this line will be added to routes/api.php:

Route::resource('projects', 'Api/ProjectsController', ['except' => ['create', 'edit']]);


The MIT License (MIT). Please see License File for more information.

More from our LaravelDaily Team