graphql-java-tools
                                
                                 graphql-java-tools copied to clipboard
                                
                                    graphql-java-tools copied to clipboard
                            
                            
                            
                        Support for MethodFieldResolver with only DataFetchingEnvironment.
- method <name>(object, *fieldArgs [, DataFetchingEnvironment])
- method is<Name>(object, *fieldArgs [, DataFetchingEnvironment]), only if the field returns a Boolean
- method get<Name>(object, *fieldArgs [, DataFetchingEnvironment])
- method getField<Name>(object, *fieldArgs [, DataFetchingEnvironment])
- field <name>
Currently only the above fieldResolvers are supported. But there are use cases where are in using local context would be the only requirement. Can methods with the following definition be supported?
method (is|get|getField)?<Name>(*fieldArgs, DataFetchingEnvironment) is supported.
The following hypothetical example shows that while loading imageBlob, we would want to know just the type of files supported. Since the parent of imageBlob is the image this data won't be available. Just the localContext is needed. In these cases, there is only need for DataFetchingEnvironment. So support for the above mentioned methodResolver would be cleaner.
type Folder {
    supportedFileTypes: [String!]!
    images: [Image!]!
}
type Image {
    imageBlob: String
}
I also have some places where I don't want / need my inputs to be deserialized into the data object. Since I need to know if a property of the input was specified or not. Java does not allow me to test for missing property since the property will be null.
For this case I do my own deserialization as a Map and check with contains().
I think this make sense. I also came across a need like this.