Skip to content

Commit 7bb1c0e

Browse files
committed
feat(symfony): Add error classes options to OpenAPI config
1 parent 073c0e2 commit 7bb1c0e

File tree

4 files changed

+9
-0
lines changed

4 files changed

+9
-0
lines changed

src/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -874,6 +874,9 @@ private function registerOpenApiConfiguration(ContainerBuilder $container, array
874874

875875
$container->setParameter('api_platform.openapi.tags', $tags);
876876

877+
$container->setParameter('api_platform.openapi.errorResourceClass', $config['openapi']['error_resource_class'] ?? null);
878+
$container->setParameter('api_platform.openapi.validationErrorResourceClass', $config['openapi']['validation_error_resource_class'] ?? null);
879+
877880
$loader->load('json_schema.xml');
878881
}
879882

src/Symfony/Bundle/DependencyInjection/Configuration.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -535,6 +535,8 @@ private function addOpenApiSection(ArrayNodeDefinition $rootNode): void
535535
->info('To pass extra configuration to Swagger UI, like docExpansion or filter.')
536536
->end()
537537
->booleanNode('overrideResponses')->defaultTrue()->info('Whether API Platform adds automatic responses to the OpenAPI documentation.')
538+
->scalarNode('error_resource_class')->defaultNull()->info('The class used to represent errors in the OpenAPI documentation.')
539+
->scalarNode('validation_error_resource_class')->defaultNull()->info('The class used to represent validation errors in the OpenAPI documentation.')
538540
->end()
539541
->end()
540542
->end();

src/Symfony/Bundle/Resources/config/openapi.xml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,8 @@
6262
<argument>%api_platform.swagger.persist_authorization%</argument>
6363
<argument>%api_platform.swagger.http_auth%</argument>
6464
<argument>%api_platform.openapi.tags%</argument>
65+
<argument>%api_platform.openapi.errorResourceClass%</argument>
66+
<argument>%api_platform.openapi.validationErrorResourceClass%</argument>
6567
</service>
6668
<service id="ApiPlatform\OpenApi\Options" alias="api_platform.openapi.options" />
6769

tests/Symfony/Bundle/DependencyInjection/ConfigurationTest.php

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -220,6 +220,8 @@ private function runDefaultConfigTests(array $doctrineIntegrationsToLoad = ['orm
220220
'swagger_ui_extra_configuration' => [],
221221
'overrideResponses' => true,
222222
'tags' => [],
223+
'error_resource_class' => null,
224+
'validation_error_resource_class' => null,
223225
],
224226
'maker' => [
225227
'enabled' => true,

0 commit comments

Comments
 (0)