Swaggervel icon indicating copy to clipboard operation
Swaggervel copied to clipboard

multi config support (v2.0)

Open Sano000 opened this issue 9 years ago • 0 comments

Hi, here is a multi API support (v2.0 for Laravel 5).

Each API configuration should be in a separate file, format is like in swaggerel.php now. You have to add an "additional" parameter to swagervel.php config file. There should be relative (in Laravel format) paths pointed to new configs:

...
    'additional' => [
        'swaggervel.api1', // config/swaggervel/api1.php
        'swaggervel.api2', // config/swaggervel/api2.php
        'swaggervel.api3', // config/swaggervel/api3.php
    ]
...

A new "api-docs-route" and "active" options was added.

_How it works_

Different API controllers are stored in different paths:

app/controllers/json/api1 app/controllers/json/api2 app/controllers/json/api3

You need to add 3 config files into app/config/ or config subdirectory:

api1.php api2.php api3.php

Config file format is the same as before, but need to exclude other APIs using 'excludes' param. For example, api1.php:

...
    "excludes" => array(
        app_path()."/storage",
        app_path()."/tests",
        app_path()."/views",

        app_path()."/controllers/json/api2",
        app_path()."/controllers/json/api3",
    ),
...

Another bugfix with an annotations file extention. It is failing when "resourcePath" of @SWG\Resource has a dot inside.

Sano000 avatar Jun 15 '15 13:06 Sano000