maxim-sarandev / lumen-swagger-cors
CORS configuration added to the base Swagger Lumen repo
Installs: 1 106
Dependents: 0
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/maxim-sarandev/lumen-swagger-cors
Requires
- php: >=7.1.3
- laravel/lumen-framework: ~5.6
- swagger-api/swagger-ui: ^3.0
- zircote/swagger-php: ~2.0|3.*
Requires (Dev)
- fzaninotto/faker: ~1.4
- mockery/mockery: ~1.0
- phpunit/phpunit: ~7.0
- satooshi/php-coveralls: ^2.0
- vlucas/phpdotenv: ~3.3
This package is auto-updated.
Last update: 2025-10-29 03:03:02 UTC
README
Info
This package has been cloned for the purposes of defining a set of CORS headers, that will be included in the default response object.
No other logic has been currently edited.
All credit is due to the creator of the original "SwaggerLume" codebase - thank you!
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.*" |
- 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.
#The link below supports DarkaOnLine
Support on Beerpay
Hey dude! Help me out for a couple of 🍻!