Effortless API documentation tool for Laravel applications. Swagger alternative.
Effortless API documentation tool for Laravel applications. Swagger alternative.
The Hassle-Free automatic API documentation generation for Laravel.
A Swagger alternative.
Supports Open API 3.0.0
Try latest DEMO!
Fast Install on any Laravel Project
Hassle Free Auto Generate API Documentation for request rules and parameters
Analyze Inbuilt SQL query time analyzer, response time and headers output.
Supports Postman and OpenAPI 3.0.0 exports.
Automatically generate API documentation for Laravel without writing annotations.
| Lang | Versions |
|---|---|
| PHP | 7.4 or 8.0 or 8.1 or 8.2 |
| Laravel | 6.* or 8.* or 9.* or 10.* |
You can install the package via composer:
composer require rakutentech/laravel-request-docs
You can publish the config file with:
php artisan vendor:publish --tag=request-docs-config
php artisan route:cache
# Optional publish assets
# php artisan vendor:publish --tag=request-docs-assets
(optional) Add the following middleware to your API, so that the SQL logs and model events are captured.
app/Http/Kernel.php
'api' => [
...
\Rakutentech\LaravelRequestDocs\LaravelRequestDocsMiddleware::class,
... and so on
View in the browser on /request-docs/
For this plugin to work, you need to follow the design pattern by injecting the request class inside the controller. For extra documentation you can use markdown inside your controller method as well.
Dark and Light Modes
Settings to sort, group and filter
You can write extra documentation in markdown using @lrd in the PHPDoc on the rules method of the Request classes and on the controller methods.
This will then be rendered as HTML on the dashboard.
Documentation defined on the controller method is appended below documentation defined on the rules method.
Example of using it in the controller:
/**
* @lrd:start
* # Hello markdown
* Free `code` or *text* to write documentation in markdown
* @lrd:end
*/
public function index(MyIndexRequest $request): Resource
{
You define extra parameters using @LRDparam.
You can use @LRDparam in PHPDoc on both the rules methods and the controller methods.
You can also overwrite rules using @LRDparam.
Meaning, when rules are defined in the rules method, you can overwrite those rules using @LRDparam in the PHPDoc above the rules method.
And you can overwrite those rules using @LRDparam in a PHPDoc on the controller methods.
So, the precedence is Controller method PHPDoc Throwable for type error
@QAParam is now @LRDparamlaravel-request-docs:export command to exportrules method of the Request class. By @Ken-vdENo open issues yet, or sync has not completed.