Skip to content

Commit d64ba82

Browse files
authored
Merge pull request #1708 from Toflar/autoconfigure-subresourceproviders
Autoregister classes implementing SubresourceDataProviderInterface
2 parents 853f46e + 7d805f9 commit d64ba82

File tree

2 files changed

+7
-0
lines changed

2 files changed

+7
-0
lines changed

src/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtension.php

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
use ApiPlatform\Core\Bridge\Doctrine\Orm\Extension\QueryItemExtensionInterface;
2121
use ApiPlatform\Core\DataProvider\CollectionDataProviderInterface;
2222
use ApiPlatform\Core\DataProvider\ItemDataProviderInterface;
23+
use ApiPlatform\Core\DataProvider\SubresourceDataProviderInterface;
2324
use ApiPlatform\Core\Exception\RuntimeException;
2425
use Doctrine\Common\Annotations\Annotation;
2526
use Doctrine\ORM\Version;
@@ -95,6 +96,8 @@ public function load(array $configs, ContainerBuilder $container)
9596
->addTag('api_platform.item_data_provider');
9697
$container->registerForAutoconfiguration(CollectionDataProviderInterface::class)
9798
->addTag('api_platform.collection_data_provider');
99+
$container->registerForAutoconfiguration(SubresourceDataProviderInterface::class)
100+
->addTag('api_platform.subresource_data_provider');
98101
$container->registerForAutoconfiguration(QueryItemExtensionInterface::class)
99102
->addTag('api_platform.doctrine.orm.query_extension.item');
100103
$container->registerForAutoconfiguration(QueryCollectionExtensionInterface::class)

tests/Bridge/Symfony/Bundle/DependencyInjection/ApiPlatformExtensionTest.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -330,6 +330,10 @@ private function getPartialContainerBuilderProphecy($test = false)
330330
->willReturn($childDefinitionProphecy)->shouldBeCalledTimes(1);
331331
$childDefinitionProphecy->addTag('api_platform.collection_data_provider')->shouldBeCalledTimes(1);
332332

333+
$containerBuilderProphecy->registerForAutoconfiguration(SubresourceDataProviderInterface::class)
334+
->willReturn($childDefinitionProphecy)->shouldBeCalledTimes(1);
335+
$childDefinitionProphecy->addTag('api_platform.subresource_data_provider')->shouldBeCalledTimes(1);
336+
333337
$containerBuilderProphecy->registerForAutoconfiguration(QueryItemExtensionInterface::class)
334338
->willReturn($childDefinitionProphecy)->shouldBeCalledTimes(1);
335339
$childDefinitionProphecy->addTag('api_platform.doctrine.orm.query_extension.item')->shouldBeCalledTimes(1);

0 commit comments

Comments
 (0)