giahojnost / LumenSwagger by giahojnost

OpenApi or Swagger integration to Lumen, Retouched based on DarkaOnLine/SwaggerLume
20
0
1
Package Data
Maintainer Username: giahojnost
Maintainer Contact: giahojnost@gmail.com (Nick Jung)
Package Create Date: 2023-04-07
Package Last Update: 2023-04-07
Language: PHP
License: MIT
Last Refreshed: 2024-04-18 15:16:41
Package Statistics
Total Downloads: 20
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 1
Total Forks: 0
Total Open Issues: 0

Total Downloads

LumenSwagger

Swagger 2.0-3.0 for Lumen

This package is a wrapper of Swagger-php and swagger-ui adapted to work with Lumen.

Retouched based on DarkaOnLine/LumenSwagger

Lumen | Swagger UI| OpenAPI Spec compatibility | L5-Swagger :-----------|:----------|:---------------------------|:---------- 10.0 | 3 | 2.0, 3.0 | composer require "giahojnost/lumen-swagger:10.*"

  • Open your bootstrap/app.php file and:

uncomment this line (around line 26) in Create The Application section:

     $app->withFacades();

add this line before Register Container Bindings section:

     $app->configure('lumen-swagger');

add this line in Register Service Providers section:

    $app->register(\LumenSwagger\ServiceProvider::class);
  • Run php artisan lumen-swagger:publish-config to publish configs (config/lumen-swagger.php)
  • Make configuration changes if needed
  • Run php artisan lumen-swagger:publish to publish everything

Using OpenApi 3.0 Specification

If you would like to use latest OpenApi specifications (originally known as the Swagger Specification) in your project you should:

  • Explicitly require swagger-php version 3.* in your projects composer by running:
composer require 'zircote/swagger-php:4.*'
  • Set environment variable SWAGGER_VERSION to 3.0 in your .env file:
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 lumen-swagger:publish-config to publish configs (config/lumen-swagger.php)
  • Run php artisan lumen-swagger:publish-views to publish views (resources/views/vendor/lumen-swagger)
  • Run php artisan lumen-swagger:publish to publish everything
  • Run php artisan lumen-swagger:generate to generate docs

Swagger-php

The actual Swagger spec is beyond the scope of this package. All LumenSwagger 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.