• Stars
    star
    333
  • Rank 122,542 (Top 3 %)
  • Language
    PHP
  • License
    MIT License
  • Created over 8 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Lumen swagger

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.*"
10.0 3 2.0, 3.0 composer require "darkaonline/swagger-lume: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('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