Stars: 517
Forks: 85
Pull Requests: 133
Issues: 154
Watchers: 19
Last Updated: 2023-09-11 08:53:42
Effortless API documentation tool for Laravel applications. Swagger alternative.
License: MIT License
Languages: PHP, Blade, JavaScript, TypeScript, CSS, Astro
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 write extra documentation in markdown which will be rendered as HTML on the dashboard. 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 write extra params with rules with @LRDparam in the comment line as one line
/**
* @LRDparam username string|max:32
* // either space or pipe
* @LRDparam nickaname string|nullable|max:32
* // override the default response codes
* @LRDparam responses 200,422
*/
public function index(MyIndexRequest $request): Resource
{
./vendor/bin/phpunit
./vendor/bin/phpcs --standard=phpcs.xml --extensions=php --ignore=tests/migrations config/ src/
Fixing lints
./vendor/bin/php-cs-fixer fix src/
./vendor/bin/php-cs-fixer fix config/
@QAParam
is now @LRDparam