Skip to content

DarkaOnLine/SwaggerLume

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
src
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Total Downloads Build Status Coverage Status Code Climate StyleCI

SwaggerLume

Swagger 2.0-3.0 for Lumen

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

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 - 5.7 3 2.0, 3.0 composer require "darkaonline/swagger-lume:5.6.*"
6.0 3 2.0, 3.0 composer require "darkaonline/swagger-lume:6.*"
7.0 3 2.0, 3.0 composer require "darkaonline/swagger-lume:7.*"
8.0 3 2.0, 3.0 composer require "darkaonline/swagger-lume:8.*"
9.0 3 2.0, 3.0 composer require "darkaonline/swagger-lume:9.*"
  • 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 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: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