Swagger 2.0 for Laravel >=5.1
This package is a wrapper of Swagger-php and swagger-ui adapted to work with Laravel 5.
For Swagger 2.0
Laravel | L5-Swagger |
---|---|
5.1.x | php composer require "darkaonline/l5-swagger:~3.0" |
5.2.x | php composer require "darkaonline/l5-swagger:~3.0" |
5.3.x | php composer require "darkaonline/l5-swagger:~3.0" |
5.4.x | php composer require "darkaonline/l5-swagger:~4.0" |
For Swagger 1.0
composer require "darkaonline/l5-swagger:~0.1"
- Open your
AppServiceProvider
(located inapp/Providers
) and add this line inregister
function
$this->app->register(\L5Swagger\L5SwaggerServiceProvider::class);
or open your config/app.php
and add this line in providers
section
\L5Swagger\L5SwaggerServiceProvider::class
- Laravel 5.4 support
- Middleware support for routes (#43) (@tantam)
- 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
- Closure routes moved to controller and got names (thanks to @bbs-smuller #19)
- Added option to rename generated API .json file name
- More accurate naming and structured config
- Swagger UI - v2.1.4
- Tests
- 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
- 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
) - Run
l5-swagger:generate
to generate docs or setgenerate_always
param totrue
in your config or .env file
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.