Laravel Apidoc is an API documentation generation tool based on Laravel.
Install via Composer:
composer require larafly/apidocRun the following command to install the documentation tool:
php artisan apidoc:installNow you can access Laravel Apidoc at http://localhost:8000/apidoc in your application.
Publish the configuration file:
php artisan vendor:publish --tag=larafly-apidocExplanation of the larafly-apidoc.php file:
<?php
return [
// API documentation access route
'route' => env('API_DOC_ROUTE', 'apidoc'),
// Date format
'datetime_format' => 'Y-m-d H:i:s',
// Author of the API documentation
'author' => env('GENERATOR_AUTHOR', 'system'),
// Show documentation in production, default is false
'is_show' => env('API_DOC_SHOW', false),
];Set GENERATOR_AUTHOR=Your Name in your .env file to configure the author.
Use the command line to generate a Request class:
php artisan apidoc:request UserRequestIf your class extends the pagination base class PageApiRequest, you can add the --p option:
php artisan apidoc:request UserRequest --pUse the command line to generate a Response class:
php artisan apidoc:response UserResponseIf your class extends the paginated response class PaginateResponse, you can add the --p option:
php artisan apidoc:response UserResponse --p- Write documentation to the database. Run the following command:
php artisan apidocAfter generation, visit http://localhost:8000/apidoc to view the documentation.
If the generated result is incorrect, check whether the API configuration is properly defined.
- Write documentation to a
markdownfile. Run the following command:
php artisan apidoc:mdAfter generation, go to storage/app/public/apidoc to view the generated documentation files.
View the changelog for update history.
MIT. Please see the license file for more information.
