Skip to content

Commit 1862d03

Browse files
authored
feat(symfony): add error classes options to open api config (#7143)
1 parent 202c60f commit 1862d03

File tree

4 files changed

+10
-1
lines changed

4 files changed

+10
-1
lines changed

src/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php

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

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

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

src/Symfony/Bundle/DependencyInjection/Configuration.php

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -534,7 +534,9 @@ private function addOpenApiSection(ArrayNodeDefinition $rootNode): void
534534
->end()
535535
->info('To pass extra configuration to Swagger UI, like docExpansion or filter.')
536536
->end()
537-
->booleanNode('overrideResponses')->defaultTrue()->info('Whether API Platform adds automatic responses to the OpenAPI documentation.')
537+
->booleanNode('overrideResponses')->defaultTrue()->info('Whether API Platform adds automatic responses to the OpenAPI documentation.')->end()
538+
->scalarNode('error_resource_class')->defaultNull()->info('The class used to represent errors in the OpenAPI documentation.')->end()
539+
->scalarNode('validation_error_resource_class')->defaultNull()->info('The class used to represent validation errors in the OpenAPI documentation.')->end()
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
<argument>%api_platform.openapi.license.identifier%</argument>
6668
</service>
6769
<service id="ApiPlatform\OpenApi\Options" alias="api_platform.openapi.options" />

tests/Symfony/Bundle/DependencyInjection/ConfigurationTest.php

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

0 commit comments

Comments
 (0)