Replies: 2 comments 2 replies
-
| This gets me half-way:     val executableSchema = schemaParser.makeExecutableSchema()
    val oldFruitTypeResolver =
        executableSchema.codeRegistry.getTypeResolver(GraphQLInterfaceType.newInterface().name("Fruit").build())
    val fruitTypeResolver = TypeResolver { env ->
        when {
            env.getObject<Any>() is Orange -> env.schema.getObjectType("Banana")
            else -> oldFruitTypeResolver.getType(env)
        }
    }
    val schemaObjects = schemaParser.parseSchemaObjects()
    return GraphQLSchema.newSchema()
        .description(schemaObjects.description)
        .query(schemaObjects.query)
        .mutation(schemaObjects.mutation)
        .subscription(schemaObjects.subscription)
        .additionalTypes(schemaObjects.dictionary)
        .additionalDirectives(schemaObjects.directives)
        .codeRegistry(
            schemaObjects.codeRegistryBuilder
                .typeResolver("Fruit", fruitTypeResolver)
                .build()
        )
        .build()but then I end up building a schema which does not have the correct data fetchers | 
Beta Was this translation helpful? Give feedback.
                  
                    0 replies
                  
                
            -
| @oryan-block do you if there is an easy solution with the current graphql-java-tools for this? I am even considering departing graphql-java-tools and using pure graphql-java for this type of issue, but this is substantial work on my end and I loose out on all of the niceties of auto-wiring. | 
Beta Was this translation helpful? Give feedback.
                  
                    2 replies
                  
                
            
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
        
    
Uh oh!
There was an error while loading. Please reload this page.
-
If you use the automatic wiring for types, is there a way to override the wiring/type resolution for a single type but keep the rest?
I have a GraphQL interface
Fruitwhich has subtypesAppleandBanana. There exists a corresponding java interfaceFruitand java classesAppleandBanana.How do I introduce a new class only on the java side, lets say called
Orange, which on the java side implementsFruit, but I want it to resolve toBananaon the GraphQL side (so I do not have to introduce another GraphQL type in the schema).Beta Was this translation helpful? Give feedback.
All reactions