yaangvu / swagger-lume
OpenApi or Swagger integration to Lumen
                                    Fund package maintenance!
                                                                            
                                                                                                                                        DarkaOnLine
                                                                                    
                                                                
Installs: 7
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 84
pkg:composer/yaangvu/swagger-lume
Requires
- php: >=7.2 || ^8.0
 - laravel/lumen-framework: ~6.0 || ~7.0 || ^8.0 || ^9.0
 - swagger-api/swagger-ui: ^3.0
 - zircote/swagger-php: ~2.0 || 3.*
 
Requires (Dev)
- mockery/mockery: 1.*
 - php-coveralls/php-coveralls: ^2.0
 - phpunit/phpunit: 9.*
 
This package is not auto-updated.
Last update: 2025-10-26 19:03:10 UTC
README
SwaggerLume
Swagger 2.0 for Lumen 5
This package is a wrapper of Swagger-php and swagger-ui adapted to work with Lumen 5.
Installation
| 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.*" | 
- Open your 
bootstrap/app.phpfile 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);
- Run 
php artisan swagger-lume:publish-configto publish configs (config/swagger-lume.php) - Make configuration changes if needed
 - Run 
php artisan swagger-lume:publishto publish everything 
Using OpenApi 3.0 Specification
If you would like to use lattes OpenApi specifications (originally known as the Swagger Specification) in you project you should:
- Explicitly require 
swagger-phpversion 3.* in your projects composer by running: 
composer require 'zircote/swagger-php:3.*'
- Set environment variable 
SWAGGER_VERSIONto 3.0 in your.envfile: 
SWAGGER_VERSION=3.0
or in your config/l5-swagger.php:
'swagger_version' => env('SWAGGER_VERSION', '3.0'),
- Use examples provided here: https://github.com/zircote/swagger-php/tree/3.x/Examples/petstore-3.0
 
Configuration
- Run 
php artisan swagger-lume:publish-configto publish configs (config/swagger-lume.php) - Run 
php artisan swagger-lume:publish-viewsto publish views (resources/views/vendor/swagger-lume) - Run 
php artisan swagger-lume:publishto publish everything - Run 
php artisan swagger-lume:generateto generate docs 
Changes in 3.0
- Swagger UI 3.
 - Configuration changes.
 - Assets dependency dropped. Now includes from composer package.
 - See migration from 2.0 to 3.0
 
Changes in 2.0
- Lumen 5.4 support
 - Swagger UI 2.2.8
 
Migrate from 2.0 to 3.0 or 5.5
- Remove 
config/swagger-lume.phpfile (make a copy if needed) - Remove 
public/vendor/swagger-lumedirectory - Remove 
resources/views/vendor/swagger-lumedirectory - Run 
swagger-lume:publishto publish new swagger-ui view and configuration - Edit your 
config/swagger-lume.phpfile 
Swagger-php
The 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.
Support on Beerpay
Hey dude! Help me out for a couple of 🍻!