graphql-java-tools icon indicating copy to clipboard operation
graphql-java-tools copied to clipboard

SchemaClassScanner does not consider the custom scalar types when processing an input type in handleNewType

Open ir-dfasen opened this issue 5 years ago • 0 comments

In our application we map all our input types to the Java Map-class instead of specific input classes. If we use a custom scalar type in an input type then the method handleNewType prints the following warning:

"Cannot find definition for field 'input value field: scalar type' on input type 'input type' -> java.util.Map. or add a class to represent your input type instead of a Map."

The handleNewType method accepts the standard scalar types (line 321):

if (inputGraphQLType is TypeName && !ScalarInfo.STANDARD_SCALAR_DEFINITIONS.containsKey(inputGraphQLType.name)) { ... }

Is it possible to also check the custom scalar types?

if (inputGraphQLType is TypeName && !ScalarInfo.STANDARD_SCALAR_DEFINITIONS.containsKey(inputGraphQLType.name) && !scalars.containsKey(inputGraphQLType.name)) { ... }

Our workaround currently is to add the mapping to a SchemaParserDictionary which is only used for this.

ir-dfasen avatar Oct 13 '20 12:10 ir-dfasen