kubotak-is / l5-swagger
Swagger integration to Laravel 5
Requires
- php: ^7.0
- laravel/framework: 5.5.*
- swagger-api/swagger-ui: ^3.0
- zircote/swagger-php: ~2.0
Requires (Dev)
- mockery/mockery: 0.9.*
- orchestra/testbench: 3.5.*
- phpunit/phpunit: 6.*
- satooshi/php-coveralls: ^1.0
This package is not auto-updated.
Last update: 2024-11-24 06:12:55 UTC
README
L5 Swagger
Swagger 2.0 for Laravel >=5.1
This package is a wrapper of Swagger-php and swagger-ui adapted to work with Laravel 5.
Installation
For Swagger 2.0
For Swagger 1.0
composer require darkaonline/l5-swagger
Open your AppServiceProvider
(located in app/Providers
) and add this line in register
function
$this->app->register(\L5Swagger\L5SwaggerServiceProvider::class);
or open your config/app.php
and add this line in providers
section
L5Swagger\L5SwaggerServiceProvider::class,
For Laravel 5.5, no need to manually add L5SwaggerServiceProvider
into config. It uses package auto discovery feature.
Changes in 5.0
- Swagger UI 3.
- Configuration changes.
- Assets dependency dropped. Now includes from composer package.
- See migration
Changes in 4.0
- Laravel 5.4 support
Changes in 3.2.1
- Middleware support for routes (#43) (@tantam)
Changes in 3.2
- Allow to change swagger base path in generation process
- Allow to define constants in config which can be used later in annotations
- Tests fix form L5.3 and PHP >= 5.6
- Update swagger UI to 2.1.5
Changes in 3.1
- Closure routes moved to controller and got names (thanks to @bbs-smuller #19)
- Added option to rename generated API .json file name
Changes in 3.0
- More accurate naming and structured config
- Swagger UI - v2.1.4
- Tests
Migrate from 2.0 to 3.0
- Replace
$this->app->register('\Darkaonline\L5Swagger\L5SwaggerServiceProvider');
with$this->app->register(\L5Swagger\L5SwaggerServiceProvider::class);
in yourAppServiceProvider
or add\L5Swagger\L5SwaggerServiceProvider::class
line in yourconfig/app.php
file - Run
l5-swagger:publish-config
to publish new config and make your changes if needed - Remove
public/vendor/l5-swagger
directory - Remove
resources/views/vendor/l5-swagger
directory - Run
l5-swagger:publish-assets
to publish new swagger-ui assets - Run
l5-swagger:publish-views
to publish new views
Migrate from 3.0|4.0 to 5.0
- Remove
config/l5-swagger.php
file (make a copy if needed) - Remove
public/vendor/l5-swagger
directory - Remove
resources/views/vendor/l5-swagger
directory - Run
l5-swagger:publish
to publish new swagger-ui view and configuration - Edit your
config/l5-swagger.php
file
Configuration
- Run
l5-swagger:publish
to publish everything - Run
l5-swagger:publish-config
to publish configs (config/l5-swagger.php
) - Run
l5-swagger:publish-assets
to publish swagger-ui to your public folder (public/vendor/l5-swagger
) - Run
l5-swagger:publish-views
to publish views (resources/views/vendor/l5-swagger
) - only for versions <= 4.0 - Run
l5-swagger:generate
to generate docs or setgenerate_always
param totrue
in your config or .env file
Swagger-php
The actual Swagger spec is beyond the scope of this package. All L5-Swagger 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 🍻!