Spring 如何将GraphQLResolver通用接口作为目标?
我想使用一个接口(在我的例子中是FieldTemplate)作为GraphQLResolver的泛型类型,但由于库似乎在寻找更“具体”的类型(在我的例子中是NumberFieldTemplate、TextFieldTemplate等),我似乎只限于下面的工作。你知道我如何创建下面的简化版本吗?理想情况下,我想使用接口FieldTemplate将其表示为一个Spring组件。顺便说一下,下面的代码是用Kotlin编写的。我正在使用graphql java库Spring 如何将GraphQLResolver通用接口作为目标?,spring,spring-boot,kotlin,graphql,graphql-java,Spring,Spring Boot,Kotlin,Graphql,Graphql Java,我想使用一个接口(在我的例子中是FieldTemplate)作为GraphQLResolver的泛型类型,但由于库似乎在寻找更“具体”的类型(在我的例子中是NumberFieldTemplate、TextFieldTemplate等),我似乎只限于下面的工作。你知道我如何创建下面的简化版本吗?理想情况下,我想使用接口FieldTemplate将其表示为一个Spring组件。顺便说一下,下面的代码是用Kotlin编写的。我正在使用graphql java库 @Component class Num
@Component
class NumberFieldTemplateResolver :
FieldTemplateResolver<NumberFieldTemplate>(), GraphQLResolver<NumberFieldTemplate>
@Component
class TextFieldTemplateResolver :
FieldTemplateResolver<TextFieldTemplate>(), GraphQLResolver<TextFieldTemplate>
@Component
class LabelFieldTemplateResolver :
FieldTemplateResolver<LabelFieldTemplate>(), GraphQLResolver<LabelFieldTemplate>
@Component
class ComboBoxFieldTemplateResolver :
FieldTemplateResolver<ComboBoxFieldTemplate>(), GraphQLResolver<ComboBoxFieldTemplate>
@Component
class CheckFieldTemplateResolver :
FieldTemplateResolver<CheckFieldTemplate>(), GraphQLResolver<CheckFieldTemplate>
abstract class FieldTemplateResolver<T : FieldTemplate> {
fun screenBox(fieldTemplate: T, displayUnit: DisplayUnit?): ScreenBox = when (displayUnit) {
DisplayUnit.PIXELS -> screenBoxInPixels(fieldTemplate.screenBox)
else -> fieldTemplate.screenBox
}
}
目前面临着同样的问题。你找到解决办法了吗?我还试图解决graphQl联合类型的问题。嗨,Paul,不,不幸的是,我从未找到解决方案。如果你能想出你的工会式的想法,我也很想听听。
interface FieldTemplate {
id: ID!
}
type NumberFieldTemplate implements FieldTemplate {
id: ID!
...
}
type TextFieldTemplate implements FieldTemplate {
id: ID!
...
}
...