diff --git a/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/DgsSchemaProvider.kt b/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/DgsSchemaProvider.kt index 433032a9c..389d46a44 100644 --- a/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/DgsSchemaProvider.kt +++ b/graphql-dgs/src/main/kotlin/com/netflix/graphql/dgs/internal/DgsSchemaProvider.kt @@ -611,12 +611,17 @@ class DgsSchemaProvider .forEach { method -> val dgsEntityFetcherAnnotation = method.getAnnotation(DgsEntityFetcher::class.java) + val entityFetcherTypeName = dgsEntityFetcherAnnotation.name + val coordinateName = "_entities.$entityFetcherTypeName" + + val mergedAnnotations = MergedAnnotations + .from(method, MergedAnnotations.SearchStrategy.TYPE_HIERARCHY) + dataFetcherInfo.dataFetchers += DataFetcherReference(dgsComponent.instance, method, mergedAnnotations, "Query", coordinateName) + val enableInstrumentation = method.getAnnotation(DgsEnableDataFetcherInstrumentation::class.java)?.value ?: false - val entityFetcherTypeName = dgsEntityFetcherAnnotation.name if (enableInstrumentation) { - val coordinateName = "__entities.$entityFetcherTypeName" dataFetcherInfo.tracingEnabled += coordinateName dataFetcherInfo.metricsEnabled += coordinateName }