Skip to content

Latest commit

 

History

History
161 lines (115 loc) · 7.06 KB

File metadata and controls

161 lines (115 loc) · 7.06 KB

Processor Reference

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.

Processor Configuration

Command line

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/ // ...

Programmatically with PHP

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/',
            ],
        ],
    ]);

Default Processors

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 null, for example: @Annotation(description=null), if you don't want the annotation to have a description.

Merge all @OA\OpenApi annotations into one.

Merge reusable annotation into @OA\Schemas.

Iterate over the chain of ancestors of a schema and:

  • if the ancestor has a schema => inherit from the ancestor if it has a schema (allOf) and stop.
  • else => merge ancestor properties into the schema.

Look at all (direct) interfaces for a schema and:

  • merge interfaces annotations/methods into the schema if the interface does not have a schema itself
  • inherit from the interface if it has a schema (allOf).

Look at all (direct) traits for a schema and:

  • merge trait annotations/methods/properties into the schema if the trait does not have a schema itself
  • inherit from the trait if it has a schema (allOf).

Expands PHP enums.

Determines schema, enum and type.

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.

Use the property context to extract useful information and inject that into the annotation.

Build the openapi->paths using the detected @OA\PathItem and @OA\Operation (@OA\Get, @OA\Post, etc).

Augments shared and operations parameters from docblock comments.

Config settings

augmentParameters.augmentOperationParameters : bool
default : true

If set to true try to find operation parameter descriptions in the operation docblock.

Split JsonContent into Schema and MediaType.

Split XmlContent into Schema and MediaType.

Generate the OperationId based on the context of the OpenApi annotation.

Config settings

operationId.hash : bool
default : true

If set to true generate ids (md5) instead of clear text operation ids.

Allows to filter endpoints based on tags and/or path.

If no tags or paths filters are set, no filtering is performed. All filter (regular) expressions must be enclosed within delimiter characters as they are used as-is.

Config settings

pathFilter.tags : array
default : []

A list of regular expressions to match tags to include.

pathFilter.paths : array
default : []

A list of regular expressions to match paths to include.

Tracks the use of all Components and removed unused schemas.

Config settings

cleanUnusedComponents.enabled : bool
default : false

Enables/disables the CleanUnusedComponents processor.

Ensures that all tags used on operations also exist in the global tags list.

Config settings

augmentTags.whitelist : array
default : []

Whitelist tags to keep even if not used. * may be used to keep all unused.