LaravelDaily / api-generator by Laraveldaily

API Generator for Laravel 5
1,030
87
12
Package Data
Maintainer Username: Laraveldaily
Maintainer Contact: narkevicius.karolis@gmail.com (KarolisNarkevicius)
Package Create Date: 2017-07-26
Package Last Update: 2019-10-10
Language: PHP
License: MIT
Last Refreshed: 2024-11-23 03:06:17
Package Statistics
Total Downloads: 1,030
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 87
Total Watchers: 12
Total Forks: 21
Total Open Issues: 3

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.

Example

php artisan make:api --model=Project

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

<?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);
        $project->update($request->all());

        return $project;
    }

    public function destroy($id)
    {
        $project = Project::findOrFail($id);
        $project->delete();

        return '';
    }
}

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

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

License

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


More from our LaravelDaily Team