ark4ne / laravel-openapi-generator
OpenApi - Laravel Documentation Generator
Installs: 9 145
Dependents: 0
Suggesters: 0
Security: 0
Stars: 5
Watchers: 1
Forks: 0
Open Issues: 0
Requires
- php: ^8.1
- goldspecdigital/oooas: ^2.10
- justinrainbow/json-schema: ^6.0
- laravel/framework: ^8.0|^9.0|^10.0|^11.0
- phpdocumentor/reflection-docblock: ^5.3
- phpdocumentor/type-resolver: ^1.6
Requires (Dev)
- ark4ne/laravel-json-api: ^1.3|^1.4
- orchestra/testbench: ^7.5|^8.0|^9.0|^10.0
- phpstan/phpstan: ^1.9
- phpunit/phpunit: ^9.0|^10.0
This package is auto-updated.
Last update: 2025-02-10 08:53:22 UTC
README
A OpenApi documentation generator for Laravel.
Installation
composer require ark4ne/laravel-openapi-generator
Usage
php artisan openapi:generate
Config
...
Versions
The "Versions" section allows you to specify different configurations for each version of your API.
output-file
Output-file name.
title
Document title.
description
Document description.
routes
Define which routes will be processed. The pattern must be a shell mask.
'routes' => [
'api/*'
],
groupBy
Document description. Used to group API routes.
by
Define a group by according to :
- controller : The route controller class
- uri : The route uri
- name : The route name
regex
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.
ignore-verbs
HTTP verbs to ignore.
Parses
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
Requests parsers.
rules
Request rules parsers.
responses
Responses parsers.
middlewares
Surcharge global middlewares config.
@see Middlewares
Format
date
Defines how date formats will be understood.
Middlewares
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, ] ],
Connections
use-transaction
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.