graphql-java-tools
graphql-java-tools copied to clipboard
Two different classes used for type when model has relationship
type Mutation {
demoflowtwo_entities_createRepairApply(body: RepairApplyInput): RepairApply
demoflowtwo_entities_createRepairMan(body: RepairManInput): RepairMan
demoflowtwo_entities_deleteRepairApply(id: Long): Long
demoflowtwo_entities_deleteRepairMan(id: Long): Long
demoflowtwo_entities_updateRepairApply(body: RepairApplyInput): RepairApply
demoflowtwo_entities_updateRepairMan(body: RepairManInput): RepairMan
}
type Query {
demoflowtwo_entities_getAllRepairApplies(query: String): [RepairApply]
demoflowtwo_entities_getAllRepairMen(query: String): [RepairMan]
demoflowtwo_entities_getRepairApply(id: Long): RepairApply
demoflowtwo_entities_getRepairMan(id: Long): RepairMan
}
type RepairApply {
id: ID
repairMan: RepairMan
}
type RepairMan {
id: ID
userName: String
}
input RepairApplyInput {
id: ID
repairMan: RepairManInput
}
input RepairManInput {
id: ID
userName: String
}
and I have classes:
public class RepairApplyMutation implements GraphQLMutationResolver
public class RepairApplyQuery implements GraphQLQueryResolver
public class RepairManMutation implements GraphQLMutationResolver
public class RepairManQuery implements GraphQLQueryResolver
error:
Caused by: graphql.kickstart.tools.SchemaClassScannerError: Two different classes used for type RepairManInput:
- class com.flow.demo.domain.RepairApply:
| input object InputValueDefinition{name='repairMan', type=TypeName{name='RepairManInput'}, defaultValue=null, directives=[]}
- class com.flow.demo.domain.RepairMan:
| parameter 0 of method public com.flow.demo.domain.RepairMan com.flow.demo.graphql.RepairManMutation.demoflowtwo_entities_createRepairMan(com.flow.demo.domain.RepairMan)
I don't want add RepairManInput2 definition like
input RepairApplyInput {
id: ID
repairMan: RepairManInput2
}
input RepairManInput2 {
id: ID
userName: String
}
How to solve this error?
Did you solve it?
Did you solve it?
use annother name in schema,like this
input RepairApplyInput {
id: ID
repairMan: RepairManInput2
}
input RepairManInput2 {
id: ID
userName: String
}
input RepairManInput {
id: ID
userName: String
}
It work but not a good solution
Has there been any update on this issue? It's causing a decent amount of redundancy in my graphql schema definition.
Here too
The same problem too
me too