Lumen swagger
Clone or download
stcktrce and DarkaOnLine Properly support OpenAPI (#54)
* Update generator.php to properly support OpenAPI

* Resolve styleci issue and switch to using version_compare instead

* Update the test annotations from OAS to OA
Latest commit 4fd9a49 Jul 31, 2018

README.md

Total Downloads Build Status Coverage Status Code Climate StyleCI

SwaggerLume

Swagger 2.0 for Lumen 5

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

Installation

Lumen Swagger UI OpenAPI Spec compatibility L5-Swagger
5.0 - 5.3 2.2 1.1, 1.2, 2.0 composer require "darkaonline/swagger-lume:~1.0"
5.4.x 2.2 1.1, 1.2, 2.0 composer require "darkaonline/swagger-lume:~2.0"
5.4.x 3 2.0 composer require "darkaonline/swagger-lume:~3.0"
5.5.x 3 2.0 composer require "darkaonline/swagger-lume:5.5.*"
5.6.x 3 2.0, 3.0 composer require "darkaonline/swagger-lume:5.6.*"
  • 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('swagger-lume');

add this line in Register Service Providers section:

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

Using OpenApi 3.0 Specification

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

  • Explicitly require swagger-php version 3.* in your projects composer by running:
composer require 'zircote/swagger-php:3.*'
  • 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'),

Configuration

  • Run php artisan swagger-lume:publish-config to publish configs (config/swagger-lume.php)
  • Run php artisan swagger-lume:publish-views to publish views (resources/views/vendor/swagger-lume)
  • Run php artisan swagger-lume:publish to publish everything
  • Run php artisan swagger-lume:generate to generate docs

Changes in 3.0

Changes in 2.0

  • Lumen 5.4 support
  • Swagger UI 2.2.8

Migrate from 2.0 to 3.0 or 5.5

  • Remove config/swagger-lume.php file (make a copy if needed)
  • Remove public/vendor/swagger-lume directory
  • Remove resources/views/vendor/swagger-lume directory
  • Run swagger-lume:publish to publish new swagger-ui view and configuration
  • Edit your config/swagger-lume.php file

Swagger-php

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

Beerpay Beerpay