hms5232 / laravel-swagger
Render OpenAPI JSON or YAML with SwaggerUI in Laravel.
Installs: 1 169
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.0
- illuminate/support: ^8.0 || ^9.0 || ^10.0 || ^11.0
Requires (Dev)
- orchestra/testbench: ^6.10 || ^7.11 || ^8.0 || ^9.0
- squizlabs/php_codesniffer: ^3.0
README
Render OpenAPI JSON or YAML with SwaggerUI and/or Swagger Editor in Laravel.
Usage
Installation
composer require hms5232/laravel-swagger
or you want to install only at development environment:
composer require hms5232/laravel-swagger --dev
Configure
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.
Manually register
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 } } }
Why another package
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.