Open
Description
Describe the bug
java.lang.ClassCastException: class graphql.schema.GraphQLTypeReference cannot be cast to class graphql.schema.GraphQLUnmodifiedType (graphql.schema.GraphQLTypeReference and graphql.schema.GraphQLUnmodifiedType are in unnamed module of loader 'app')
at graphql.schema.GraphQLTypeUtil.unwrapAll(GraphQLTypeUtil.java:194)
at graphql.validation.util.DirectivesAndTypeWalker.walkInputType(DirectivesAndTypeWalker.java:23)
at graphql.validation.util.DirectivesAndTypeWalker.isSuitable(DirectivesAndTypeWalker.java:19)
To Reproduce
I have an enum type that is used as non-null input
enum SlotType {
AVAILABLE, UNAVAILABLE
}
type Employee {
schedule(type: SlotType!): [Slot!]!
}
DirectivesAndTypeWalker
uses GraphQLTypeUtil.unwrapAll(inputType)
since #34 but unwrapAll
specifically says that it does not support GraphQLTypeReference
:
Unwraps all layers of the type or just returns the type again if it's not a wrapped type NOTE: This method does not support GraphQLTypeReference as input and will lead to a ClassCastException
and SlotType
turns out to be one:
type = {GraphQLNonNull@17904} "SlotType!"
originalWrappedType = {GraphQLTypeReference@17955} "GraphQLTypeReference{name='SlotType'}"
name = "SlotType"
replacedWrappedType = null
Metadata
Metadata
Assignees
Labels
No labels