我正在尝试使用输入/ argtype,它可以是ContactCreate
或ContactRead
。但是我不确定我在做什么是否有可能。
import { ContactCreate } from 'contact/ContactCreate'
import { ContactRead } from 'contact/ContactRead'
import { ArgsType, createUnionType, Field } from 'type-graphql'
const ContactObtainUnion = createUnionType({
name: 'ContactObtain',
types: () => [ContactCreate, ContactRead],
resolveType: value => {
if ('uuid' in value) {
return ContactRead
}
return ContactCreate
}
})
@ArgsType()
export class ContactObtain {
@Field(() => ContactObtainUnion)
contact: typeof ContactObtainUnion
}
是否可能有一个@Field
,它是两个不同类型对象的并集?
答案 0 :(得分:1)
GraphQL规范尚不支持输入并集,因此您不能在@ArgsType
和@InputType
中使用它。
您可以阅读RFC和GitHub上的讨论: https://github.com/graphql/graphql-spec/issues/627