Skip to content

Commit ab1fa61

Browse files
authored
Merge pull request #81 from graphql-java-kickstart/tools/directive-field-data-fetcher
Fix the directive example for current graphql-java
2 parents 1bd90fb + 9167e72 commit ab1fa61

1 file changed

Lines changed: 5 additions & 10 deletions

File tree

‎content/tools/directives/index.md‎

Lines changed: 5 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -31,28 +31,23 @@ type Query {
3131
```
3232

3333
And the actual implementation is the following:
34-
```
34+
```java
3535
public class UppercaseDirective implements SchemaDirectiveWiring {
3636
@Override
3737
public GraphQLFieldDefinition onField(SchemaDirectiveWiringEnvironment<GraphQLFieldDefinition> env) {
38-
GraphQLFieldDefinition field = env.getElement();
39-
GraphQLFieldsContainer parentType = env.getFieldsContainer();
40-
4138
// build a data fetcher that transforms the given value to uppercase
42-
DataFetcher originalFetcher = env.getCodeRegistry().getDataFetcher(parentType, field);
43-
DataFetcher dataFetcher =
39+
DataFetcher<?> dataFetcher =
4440
DataFetcherFactories.wrapDataFetcher(
45-
originalFetcher,
41+
env.getFieldDataFetcher(),
4642
((dataFetchingEnvironment, value) -> {
4743
if (value instanceof String) {
4844
return ((String) value).toUpperCase();
4945
}
5046
return value;
5147
}));
5248

53-
// now change the field definition to use the new uppercase data fetcher
54-
env.getCodeRegistry().dataFetcher(parentType, field, dataFetcher);
55-
return field;
49+
// now change the field to use the new uppercase data fetcher
50+
return env.setFieldDataFetcher(dataFetcher);
5651
}
5752
}
5853
```

0 commit comments

Comments
 (0)