File tree Expand file tree Collapse file tree 2 files changed +21
-0
lines changed
main/java/org/springframework/graphql/execution
test/java/org/springframework/graphql/execution Expand file tree Collapse file tree 2 files changed +21
-0
lines changed Original file line number Diff line number Diff line change 2020
2121import graphql .ExecutionInput ;
2222import graphql .GraphQLContext ;
23+ import graphql .TrivialDataFetcher ;
2324import graphql .schema .DataFetcher ;
2425import graphql .schema .DataFetchingEnvironment ;
2526import graphql .schema .FieldCoordinates ;
@@ -150,6 +151,9 @@ public TraversalControl visitGraphQLFieldDefinition(
150151 }
151152
152153 private boolean applyDecorator (DataFetcher <?> dataFetcher ) {
154+ if (dataFetcher instanceof TrivialDataFetcher ) {
155+ return false ;
156+ }
153157 Class <?> type = dataFetcher .getClass ();
154158 String packageName = type .getPackage ().getName ();
155159 if (packageName .startsWith ("graphql." )) {
Original file line number Diff line number Diff line change 2727import graphql .GraphQL ;
2828import graphql .GraphQLError ;
2929import graphql .GraphqlErrorBuilder ;
30+ import graphql .TrivialDataFetcher ;
3031import graphql .schema .DataFetcher ;
3132import graphql .schema .DataFetcherFactories ;
33+ import graphql .schema .FieldCoordinates ;
3234import graphql .schema .GraphQLFieldDefinition ;
35+ import graphql .schema .GraphQLSchema ;
3336import graphql .schema .idl .SchemaDirectiveWiring ;
3437import graphql .schema .idl .SchemaDirectiveWiringEnvironment ;
3538import io .micrometer .context .ContextRegistry ;
@@ -238,4 +241,18 @@ else if (value instanceof Mono) {
238241 tester .accept (directiveWiring , env -> Mono .just ("hello" ));
239242 }
240243
244+ @ Test //gh-980
245+ void trivialDataFetcherIsNotDecorated () {
246+ GraphQL graphQl = GraphQlSetup .schemaContent (SCHEMA_CONTENT )
247+ .queryFetcher ("greeting" , (TrivialDataFetcher ) env -> "hello" )
248+ .toGraphQl ();
249+
250+ GraphQLSchema schema = graphQl .getGraphQLSchema ();
251+ FieldCoordinates coordinates = FieldCoordinates .coordinates ("Query" , "greeting" );
252+ DataFetcher <?> dataFetcher = schema .getCodeRegistry ()
253+ .getDataFetcher (coordinates , schema .getFieldDefinition (coordinates ));
254+
255+ assertThat (dataFetcher ).isInstanceOf (TrivialDataFetcher .class );
256+ }
257+
241258}
You can’t perform that action at this time.
0 commit comments