gert-fresh / L5-Swagger

Swagger integration to Laravel 5

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Total Downloads Build Status Code Climate Test Coverage StyleCI

L5 Swagger

Swagger 2.0 for Laravel >=5.1

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

Installation

For Swagger 2.0

    composer require "darkaonline/l5-swagger:~3.0"

For Swagger 1.0

    composer require "darkaonline/l5-swagger:~0.1"
  • Open your AppServiceProvider (located in app/Providers) and add this line in register function
    $this->app->register(\L5Swagger\L5SwaggerServiceProvider::class);

or open your config/app.php and add this line in providers section

    \L5Swagger\L5SwaggerServiceProvider::class

Changes in 3.1

  • Closure routes moved to controller and got names (fanks to @bbs-smuller #19)
  • Added option to rename generated API .json file name

Changes in 3.0

  • More accurate naming and structured config
  • Swagger UI - v2.1.4
  • Tests

Migrate from 2.0 to 3.0

  • Replace $this->app->register('\Darkaonline\L5Swagger\L5SwaggerServiceProvider'); with $this->app->register(\L5Swagger\L5SwaggerServiceProvider::class); in your AppServiceProvider or add \L5Swagger\L5SwaggerServiceProvider::class line in your config/app.php file
  • Run l5-swagger:publish-config to publish new config and make your changes if needed
  • Remove public/vendor/l5-swagger directory
  • Remove resources/views/vendor/l5-swagger directory
  • Run l5-swagger:publish-assets to publish new swagger-ui assets
  • Run l5-swagger:publish-views to publish new views

Configuration

  • Run l5-swagger:publish to publish everything
  • Run l5-swagger:publish-config to publish configs (config/l5-swagger.php)
  • Run l5-swagger:publish-assets to publish swagger-ui to your public folder (public/vendor/l5-swagger)
  • Run l5-swagger:publish-views to publish views (resources/views/vendor/l5-swagger)
  • Run l5-swagger:generate to generate docs or set generate_always param to true in your config or .env file

Swagger-php

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

About

Swagger integration to Laravel 5

License:MIT License


Languages

Language:PHP 100.0%