Skip to content

Conversation

@ttskch
Copy link
Contributor

@ttskch ttskch commented Jan 15, 2026

Q A
Branch? 4.2
Tickets N/A
License MIT
Doc PR N/A

Summary

When using the apiResource() method to define API resources in Symfony, default GraphQL operations (Query, QueryCollection, etc.) are not automatically generated, causing errors like:

Operation "item_query" not found for resource "Foo".

Root Cause

In src/Symfony/Bundle/Resources/config/metadata/resource.php, ConcernsResourceMetadataCollectionFactory is registered with only the decorated argument:

$services->set('api_platform.metadata.resource.metadata_collection_factory.concerns', 'ApiPlatform\Metadata\Resource\Factory\ConcernsResourceMetadataCollectionFactory')
->decorate('api_platform.metadata.resource.metadata_collection_factory', null, 800)
->args([service('api_platform.metadata.resource.metadata_collection_factory.concerns.inner')]);

This causes graphQlEnabled to default to false, skipping default GraphQL operation generation in MetadataCollectionFactoryTrait.

Fix

Pass all required arguments (logger, defaults, graphQlEnabled) matching AttributesResourceMetadataCollectionFactory.

Note

The Laravel integration already passes these arguments correctly in ApiPlatformDeferredProvider.php:

new AttributesResourceMetadataCollectionFactory(
new ConcernsResourceMetadataCollectionFactory(
null,
$app->make(LoggerInterface::class),
$config->get('api-platform.defaults', []),
$config->get('api-platform.graphql.enabled'),
),
$app->make(LoggerInterface::class),
$config->get('api-platform.defaults', []),
$config->get('api-platform.graphql.enabled'),
),

@ttskch ttskch changed the title fix(symfony): pass missing arguments to ConcernsResourceMetadataCollectionFactory fix(symfony): pass missing arguments to ConcernsResourceMetadataCollectionFactory Jan 15, 2026
@soyuka soyuka merged commit bed668c into api-platform:4.2 Jan 16, 2026
130 checks passed
@soyuka
Copy link
Member

soyuka commented Jan 16, 2026

thanks!

@ttskch ttskch deleted the fix/symfony-graphql branch January 16, 2026 16:30
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants