This Laravel package provides an API Documentation generator. It's based on your Routes and Controller Method DocBlock comments.
The package requires PHP >= 7.0 and Laravel 5.4.
Add the package in your composer.json by executing the command.
composer require mhamlet/laravel-apidocs
Next, add the service provider to config/app.php
MHamlet\Apidocs\ApidocsServiceProvider::class,
// The main class of package is MHamlet\Apidocs\Generator
// Let's write a simple "use"
use MHamlet\Apidocs\Generator;
// Generator has two statically declared methods - "forAllRoutes" and "forRoutesWithPrefix".
// The first one will provide you to generate documentation for all defined
// routes in your application.
$routeGenerator = Generator::forAllRoutes();
// The second one will provide you to generate documentation for routes,
// which URL's starts with given prefix.
$routeGenerator = Generator::forRoutesWithPrefix('api');
// The route generator also has two methods - "describeRoutes" and "generate"
// The first one will parse and describe the routes for you.
$routeGenerator->describeRoutes()
// It will return the following (the result is serialized in json to make it readable in this example)
/*
[
{
"path":"api/users",
"controller":"App\\Http\\Controllers\\UserController",
"method":"index",
"verbs":[
"GET",
"HEAD"
]
}
]
*/
// The second one will parse routes, controller comments and return the
// API documentation itself.
$routeGenerator->generate()
// It will return the following result
/*
[
{
"path":"api\/users",
"verbs":[
"GET",
"HEAD"
],
"description":"Returns list of all users",
"params":[
{
"type":"int",
"name":"from",
"description":"test from"
},
{
"type":"int",
"name":"offset",
"description":"test offset"
}
],
}
]
*/
This package is open-sourced software licensed under the MIT license