A OpenApi documentation generator for Laravel.
composer require ark4ne/laravel-openapi-generator
php artisan openapi:generate
...
The "Versions" section allows you to specify different configurations for each version of your API.
Output-file name.
Document title.
Document description.
Define which routes will be processed. The pattern must be a shell mask.
'routes' => [
'api/*'
],
Document description. Used to group API routes.
Define a group by according to :
- controller : The route controller class
- uri : The route uri
- name : The route name
Define a regex that will retrieve the name of the group.
ex:
'groupBy' => [
'by' => 'controller',
'regex' => '/^App\\\\Http\\\\(\w+)/'
],
With this, routes will be grouped by controller class name.
HTTP verbs to ignore.
Define all parser used for documentate a specific class.
For each object, only one parser will be used.
For instance :
class MyResourceCollection extends ResourceCollection {}
ResourceCollectionParser
and JsonResourceParser
are eligible, because
MyResourceCollection
extends from ResourceCollection
which extends from JsonResource
.
The order of the parsers will define which parser we will use: 1st eligible => parser used.
For MyResourceCollection
we will therefore use ResourceCollection
.
Requests parsers.
Request rules parsers.
Responses parsers.
Surcharge global middlewares config.
@see Middlewares
Defines how date formats will be understood.
Defines middlewares transformers.
For each middlewares, you can define a transformer that will be used to transform the request or responses.
'middlewares' => [
'auth:sanctum' => [
\Ark4ne\OpenApi\Transformers\Middlewares\ApplyBearerTokenSecurity::class,
],
\Illuminate\Foundation\Http\Middleware\VerifyCsrfToken::class => [
\Ark4ne\OpenApi\Transformers\Middlewares\ApplyCsrfSecurity::class,
]
],
Defines whether to use transactions on different database connections.
Using transaction will create and save models via factories. The saved models will be deleted at the end of the generation via a rollback.
Without transactions, models will be created but not saved, which can lead to errors during generation.