Render OpenAPI JSON or YAML with SwaggerUI in Laravel.
hms5232/laravel-swagger is a Laravel package for render openapi json or yaml with swaggerui in laravel..
It currently has 3 GitHub stars and 3.100 downloads on Packagist (latest version v0.2.0).
Install it with composer require hms5232/laravel-swagger.
Discover more Laravel packages by hms5232
or browse all Laravel packages to compare alternatives.
Last updated
Render OpenAPI JSON or YAML with SwaggerUI and/or Swagger Editor in Laravel.
composer require hms5232/laravel-swagger
or you want to install only at development environment:
composer require hms5232/laravel-swagger --dev
All configurable items are in config/swagger.php after you run publish command:
php artisan vendor:publish --provider "Hms5232\LaravelSwagger\LaravelSwaggerServiceProvider"
If you want to override the exists config file, execute command with --force flag.
See the config file for detail information.
Package support auto-discovery. If you want to control when to register, you can do the following steps:
Edit composer.json make auto discovery ignore laravel-swagger:
"extra": {
"laravel": {
"dont-discover": [
"hms5232/laravel-swagger"
]
}
},
Re-generate optimized autoload files:
composer dump-autoload
Edit app/Providers/AppServiceProvider.php define when to register:
use Hms5232\LaravelSwagger\LaravelSwaggerServiceProvider; // add this
class AppServiceProvider extends ServiceProvider
{
public function register()
{
// set condition
// for example, only register when env is "local"
if ($this->app->environment('local')) {
$this->app->register(LaravelSwaggerServiceProvider::class); // register laravel-swagger
}
}
}
I just want to write a YAML file directly, and use Swagger UI serve/resolve docs.
But exists projects are either using annotations or only supporting JSON (seems like bug, but does not fix.).
So I develop this package, only have a view modified from Swagger UI (unpkg), two routes to link documents.
This section was written at version 0.1.0 and may be outdated in the future.