docs/reference/processors.md
This page is generated automatically from the swagger-php sources.
For improvements head over to GitHub and create a PR ;)
Processors are listed in the default order of execution.
The -c option allows to specify a name/value pair with the name consisting
of the processor name (starting lowercase) and option name separated by a dot (.).
> ./vendor/bin/openapi -c operatinId.hash=true // ...
> ./vendor/bin/openapi -c pathFilter.tags[]=/pets/ -c pathFilter.tags[]=/store/ // ...
Configuration can be set using the Generator::setConfig() method. Keys can either be the same
as on the command line or be broken down into nested arrays.
(new Generator())
->setConfig([
'operationId.hash' => true,
'pathFilter' => [
'tags' => [
'/pets/',
'/store/',
],
],
]);
Checks if the annotation has a summary and/or description property and uses the text in the comment block (above the annotations) as summary and/or description.
Use <code>null</code>, for example: <code>@Annotation(description=null)</code>, if you don't want the annotation to have a description.
Merge all <code>@OA\OpenApi</code> annotations into one.
mergeIntoOpenApi.mergeComponents : <span style="font-family: monospace;">bool</span>
default : <span style="font-family: monospace;">false</span>
If set to <code>true</code>, allow multiple @OA\Components annotations to be merged.
Merge reusable annotation into <code>@OA\Schemas</code>.
Iterate over the chain of ancestors of a schema and:
Look at all (direct) interfaces for a schema and:
Look at all (direct) traits for a schema and:
Expands PHP enums.
Determines <code>schema</code>, <code>enum</code> and <code>type</code>.
expandEnums.enumNames : <span style="font-family: monospace;">string</span>
default : <span style="font-family: monospace;">null</span>
Specifies the name of the extension variable where backed enum names will be stored.
Set to <code>null</code> to avoid writing backed enum names.
Example:
<code>->setEnumNames('enumNames')</code> yields:
x-enumNames:
- NAME1
- NAME2
expandEnums.generator : <span style="font-family: monospace;">OpenApi\Generator</span>
default : <span style="font-family: monospace;">N/A</span>
No details available.
Use the Schema context to extract useful information and inject that into the annotation.
Merges properties.
Use the RequestBody context to extract useful information and inject that into the annotation.
augmentRequestBody.generator : <span style="font-family: monospace;">OpenApi\Generator</span>
default : <span style="font-family: monospace;">N/A</span>
No details available.
Use the property context to extract useful information and inject that into the annotation.
augmentProperties.generator : <span style="font-family: monospace;">OpenApi\Generator</span>
default : <span style="font-family: monospace;">N/A</span>
No details available.
Use the property context to extract useful information and inject that into the annotation.
Build the openapi->paths using the detected <code>@OA\PathItem</code> and <code>@OA\Operation</code> (<code>@OA\Get</code>, etc).
Augments shared and operations parameters from docblock comments.
augmentParameters.augmentOperationParameters : <span style="font-family: monospace;">bool</span>
default : <span style="font-family: monospace;">true</span>
If set to <code>true</code> try to find operation parameter descriptions in the operation docblock.
augmentParameters.generator : <span style="font-family: monospace;">OpenApi\Generator</span>
default : <span style="font-family: monospace;">N/A</span>
No details available.
Split JsonContent into Schema and MediaType.
Split XmlContent into Schema and MediaType.
Augment media type encodings.
Generate the OperationId based on the context of the OpenApi annotation.
operationId.hash : <span style="font-family: monospace;">bool</span>
default : <span style="font-family: monospace;">true</span>
If set to <code>true</code> generate ids (md5) instead of clear text operation ids.
Allows to filter endpoints based on tags and/or path.
If no <code>tags</code> or <code>paths</code> filters are set, no filtering is performed.
All filter (regular) expressions must be enclosed within delimiter characters as they are used as-is.
pathFilter.tags : <span style="font-family: monospace;">array</span>
default : <span style="font-family: monospace;">[]</span>
A list of regular expressions to match <code>tags</code> to include.
pathFilter.paths : <span style="font-family: monospace;">array</span>
default : <span style="font-family: monospace;">[]</span>
A list of regular expressions to match <code>paths</code> to include.
pathFilter.recurseCleanup : <span style="font-family: monospace;">bool</span>
default : <span style="font-family: monospace;">false</span>
Flag to do a recursive cleanup of unused paths and their nested annotations.
Tracks the use of all <code>Components</code> and removed unused schemas.
cleanUnusedComponents.enabled : <span style="font-family: monospace;">bool</span>
default : <span style="font-family: monospace;">false</span>
Enables/disables the <code>CleanUnusedComponents</code> processor.
Ensures that all tags used on operations also exist in the global <code>tags</code> list.
augmentTags.whitelist : <span style="font-family: monospace;">array</span>
default : <span style="font-family: monospace;">[]</span>
Whitelist tags to keep even if not used. <code>*</code> may be used to keep all unused.