scrumptious/slagger

Slim middleware for generating Swagger json for use with Swagger UI

Installs: 81

Dependents: 0

Stars: 3

Watchers: 1

Forks: 2

Language: PHP

0.3.0 2014-09-26 04:41 UTC

README

A Slim PHP middleware for generating swagger json for use with Swagger UI. This middleware will automatically add swagger json endpoints for all your Swagger doc annotated classes. Uses Zircote Swagger-php to parse annotations.

Install Using Composer

{
    "require": {
        "scrumptious\slagger": "0.3.0"
    }
}

Usage

$app = new \Slim\Slim();

// Inject as Slim application middleware
$app->add(new \Slagger\Slagger('/api/v1/docs', __DIR__.'/../lib'));

\\ ... your app code

$app->run();

You'd then input the url http://yourapidomain.com/api/v1/docs in the Swagger-UI interface.

Slagger(docsuri, scandir, options)

The constructor takes up to three arguments.

docsuri

The uri in your app that will return swagger json.

scandir

The directory to scan for files with Swagger annotations.

options [optional]

Options passed through to the getResource function of the Zircote swagger-php library.

Annotations

The Zircote Swagger-php library will parse the Swagger annotations in your files. See the Swagger-php docs for what annotations are supported.

ex:

/**
 * @SWG\Resource(
 *     apiVersion="0.1",
 *     swaggerVersion="1.2",
 *     resourcePath="/journey",
 *     basePath="http://myapi.com/api/v1"
 * )
 */
class Journey extends CRUD {
    // ...
}