Giter Club home page Giter Club logo

l5-swagger's Introduction

Total Downloads Build Status Coverage Status Code Climate 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

Laravel Swagger UI OpenAPI Spec compatibility L5-Swagger
5.1.x 2.2 1.1, 1.2, 2.0 php composer require "darkaonline/l5-swagger:~3.0"
5.2.x 2.2 1.1, 1.2, 2.0 php composer require "darkaonline/l5-swagger:~3.0"
5.3.x 2.2 1.1, 1.2, 2.0 php composer require "darkaonline/l5-swagger:~3.0"
5.4.x 2.2 1.1, 1.2, 2.0 php composer require "darkaonline/l5-swagger:~4.0"
5.4.x 3 2.0 php composer require "darkaonline/l5-swagger:~5.0"

For Swagger 1.0

    composer require darkaonline/l5-swagger
  • 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 5.0

  • Swagger UI 3.
  • Configuration changes.
  • Assets dependency dropped. Now includes from composer package.
  • See migration

Changes in 4.0

  • Laravel 5.4 support

Changes in 3.2.1

  • Middleware support for routes (#43) (@tantam)

Changes in 3.2

  • Allow to change swagger base path in generation process
  • Allow to define constants in config which can be used later in annotations
  • Tests fix form L5.3 and PHP >= 5.6
  • Update swagger UI to 2.1.5

Changes in 3.1

  • Closure routes moved to controller and got names (thanks 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

Migrate from 3.0|4.0 to 5.0

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

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) - only for versions <= 4.0
  • 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.

Support on Beerpay

Hey dude! Help me out for a couple of ๐Ÿป!

Beerpay Beerpay

l5-swagger's People

Contributors

darkaonline avatar verwilst avatar bbs-smuller avatar rlems avatar gert-fresh avatar cyberhicham avatar joshstrange avatar josiasmontag avatar stefanullrich avatar tomcastleman avatar tantam avatar

Watchers

Debjit Biswas avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.