From 28ff33be15424ff5a5b819dbe88b34468d1752b2 Mon Sep 17 00:00:00 2001 From: Manash Jyoti Sonowal Date: Fri, 16 Jun 2017 23:18:28 +0530 Subject: [PATCH 1/6] added support for multiple prefixes for routes which can be passed as separated by comma --- .../ApiDoc/Commands/GenerateDocumentation.php | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php b/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php index f430fc7..ece8888 100644 --- a/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php +++ b/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php @@ -79,10 +79,18 @@ class GenerateDocumentation extends Command $generator->prepareMiddleware($this->option('useMiddlewares')); + $routePrefixes = explode(",", $routePrefix); + + $parsedRoutes = []; + if ($this->option('router') === 'laravel') { - $parsedRoutes = $this->processLaravelRoutes($generator, $allowedRoutes, $routePrefix, $middleware); + foreach ($routePrefixes as $routePrefix) { + $parsedRoutes += $this->processLaravelRoutes($generator, $allowedRoutes, $routePrefix, $middleware); + } } else { - $parsedRoutes = $this->processDingoRoutes($generator, $allowedRoutes, $routePrefix, $middleware); + foreach ($routePrefixes as $routePrefix) { + $parsedRoutes += $this->processDingoRoutes($generator, $allowedRoutes, $routePrefix, $middleware); + } } $parsedRoutes = collect($parsedRoutes)->groupBy('resource')->sort(function ($a, $b) { return strcmp($a->first()['resource'], $b->first()['resource']); From d06292ac3b654f80965df141de1fbef0deec6f26 Mon Sep 17 00:00:00 2001 From: Manash Jyoti Sonowal Date: Fri, 16 Jun 2017 23:37:48 +0530 Subject: [PATCH 2/6] updated the readme with last commit 28ff33be15424ff5a5b819dbe88b34468d1752b2 which adds support for generation when there are multiple prefixes --- README.md | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 098fa35..ede1f97 100644 --- a/README.md +++ b/README.md @@ -36,6 +36,14 @@ To generate your API documentation, use the `api:generate` artisan command. $ php artisan api:generate --routePrefix="api/v1/*" ``` +After 28ff33be15424ff5a5b819dbe88b34468d1752b2 this commit, it supports passing generation of multiple prefixes by spearating each prefix with comma. + +```sh +$ php artisan api:generate --routePrefix="api/v1/*,api/public/*" +``` +It will generate documentation for all of the routes whose prefixes are `api/v1/` and `api/public/` + + This command will scan your applications routes for the URIs matching `api/v1/*` and will parse these controller methods and form requests. For example: ```php @@ -53,7 +61,7 @@ Route::group(array('prefix' => 'api/v1', 'middleware' => []), function () { Option | Description --------- | ------- `output` | The output path used for the generated documentation. Default: `public/docs` -`routePrefix` | The route prefix to use for generation - `*` can be used as a wildcard +`routePrefix` | The route prefix to use for generation - `*` can be used as a wildcard `routes` | The route names to use for generation - Required if no routePrefix is provided `middleware` | The middlewares to use for generation `noResponseCalls` | Disable API response calls From 08a330c80a287d59ac199f566696db9991b9c11b Mon Sep 17 00:00:00 2001 From: Manash Jyoti Sonowal Date: Fri, 16 Jun 2017 23:42:12 +0530 Subject: [PATCH 3/6] apply patch from StyleCI --- src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php b/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php index ece8888..6c97a20 100644 --- a/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php +++ b/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php @@ -81,7 +81,7 @@ class GenerateDocumentation extends Command $routePrefixes = explode(",", $routePrefix); - $parsedRoutes = []; + $parsedRoutes = []; if ($this->option('router') === 'laravel') { foreach ($routePrefixes as $routePrefix) { From 03ec9e4c36e625f8ee495d38f5f8252933f24529 Mon Sep 17 00:00:00 2001 From: Manash Jyoti Sonowal Date: Fri, 16 Jun 2017 23:43:15 +0530 Subject: [PATCH 4/6] Apply fixes from StyleCI --- src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php b/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php index 6c97a20..d210bf0 100644 --- a/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php +++ b/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php @@ -81,7 +81,7 @@ class GenerateDocumentation extends Command $routePrefixes = explode(",", $routePrefix); - $parsedRoutes = []; + $parsedRoutes = []; if ($this->option('router') === 'laravel') { foreach ($routePrefixes as $routePrefix) { From ec2c9590e577c9fcd96aafcdb90171f50d894508 Mon Sep 17 00:00:00 2001 From: Manash Jyoti Sonowal Date: Fri, 16 Jun 2017 23:44:44 +0530 Subject: [PATCH 5/6] apply fixes from StyleCI --- src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php b/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php index d210bf0..4ab9e2f 100644 --- a/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php +++ b/src/Mpociot/ApiDoc/Commands/GenerateDocumentation.php @@ -79,7 +79,7 @@ class GenerateDocumentation extends Command $generator->prepareMiddleware($this->option('useMiddlewares')); - $routePrefixes = explode(",", $routePrefix); + $routePrefixes = explode(',', $routePrefix); $parsedRoutes = []; From afeca2faf71529fd94ce08ef44a2513b1d277ea5 Mon Sep 17 00:00:00 2001 From: Shalvah A Date: Fri, 7 Sep 2018 11:05:27 +0100 Subject: [PATCH 6/6] Update README.md --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ede1f97..3ffc353 100644 --- a/README.md +++ b/README.md @@ -34,9 +34,9 @@ To generate your API documentation, use the `api:generate` artisan command. ```sh $ php artisan api:generate --routePrefix="api/v1/*" -``` -After 28ff33be15424ff5a5b819dbe88b34468d1752b2 this commit, it supports passing generation of multiple prefixes by spearating each prefix with comma. +``` +You can pass in multiple prefixes by spearating each prefix with comma. ```sh $ php artisan api:generate --routePrefix="api/v1/*,api/public/*"