| Install | |
|---|---|
composer require darkaonline/swagger-lume |
|
| Latest Version: | 11.0 |
| PHP: | >=7.2 || ^8.0 |
| License: | MIT |
| Last Updated: | May 15, 2024 |
| Links: | GitHub · Packagist |
Swagger 2.0-3.0 for Lumen
This package is a wrapper of Swagger-php and swagger-ui adapted to work with Lumen.
| Lumen | Swagger UI | OpenAPI Spec compatibility | L5-Swagger |
|---|---|---|---|
| 5.0 - 5.3 | 2.2 | 1.1, 1.2, 2.0 | composer require "darkaonline/swagger-lume:~1.0" |
| 5.4.x | 2.2 | 1.1, 1.2, 2.0 | composer require "darkaonline/swagger-lume:~2.0" |
| 5.4.x | 3 | 2.0 | composer require "darkaonline/swagger-lume:~3.0" |
| 5.5.x | 3 | 2.0 | composer require "darkaonline/swagger-lume:5.5.*" |
| 5.6 - 5.7 | 3 | 2.0, 3.0 | composer require "darkaonline/swagger-lume:5.6.*" |
| 6.0 | 3 | 2.0, 3.0 | composer require "darkaonline/swagger-lume:6.*" |
| 7.0 | 3 | 2.0, 3.0 | composer require "darkaonline/swagger-lume:7.*" |
| 8.0 | 3 | 2.0, 3.0 | composer require "darkaonline/swagger-lume:8.*" |
| 9.0 | 3 | 2.0, 3.0 | composer require "darkaonline/swagger-lume:9.*" |
| 10.0 | 3 | 2.0, 3.0 | composer require "darkaonline/swagger-lume:10.*" |
bootstrap/app.php file and:uncomment this line (around line 26) in Create The Application section:
$app->withFacades();
add this line before Register Container Bindings section:
$app->configure('swagger-lume');
add this line in Register Service Providers section:
$app->register(\SwaggerLume\ServiceProvider::class);
php artisan swagger-lume:publish-config to publish configs (config/swagger-lume.php)php artisan swagger-lume:publish to publish everythingIf you would like to use latest OpenApi specifications (originally known as the Swagger Specification) in your project you should:
swagger-php version 3.* in your projects composer by running:composer require 'zircote/swagger-php:3.*'
SWAGGER_VERSION to 3.0 in your .env file:SWAGGER_VERSION=3.0
or in your config/l5-swagger.php:
'swagger_version' => env('SWAGGER_VERSION', '3.0'),
php artisan swagger-lume:publish-config to publish configs (config/swagger-lume.php)php artisan swagger-lume:publish-views to publish views (resources/views/vendor/swagger-lume)php artisan swagger-lume:publish to publish everythingphp artisan swagger-lume:generate to generate docsconfig/swagger-lume.php file (make a copy if needed)public/vendor/swagger-lume directoryresources/views/vendor/swagger-lume directoryswagger-lume:publish to publish new swagger-ui view and configurationconfig/swagger-lume.php fileThe actual Swagger spec is beyond the scope of this package. All SwaggerLume does is package up swagger-php and swagger-ui in a Laravel-friendly fashion, and tries to make it easy to serve. For info on how to use swagger-php look here. For good examples of swagger-php in action look here.
Important: Make sure that you add the include statement on all pages with annotations!
use OpenApi\Annotations as OA;
Hey dude! Help me out for a couple of :beers:!