GraphQL 枚举联合解决方法?
Posted
技术标签:
【中文标题】GraphQL 枚举联合解决方法?【英文标题】:GraphQL enum union workaround? 【发布时间】:2020-01-08 23:30:32 【问题描述】:我有属于主要类别的主要类别和次要类别。 两者都是 ENUM 类型。 我希望客户选择匹配的次要类别 ENUM 以提交其主要类别。 我不想将所有不同的次要类别 ENUM 作为字段包含在内。
我第一次尝试做
union MinorCategories = Minor1 | Minor2
然而这失败了,因为union
只适用于ObjectTypes
没有必要根据主要类别强制执行次要类别。我只想接收一个可由客户通过 ENUM 选择的字段。 有什么解决办法吗?
【问题讨论】:
【参考方案1】:GraphQL does not support union types for scalar values, only for object types。 一种选择,尽管很丑陋,是将您的枚举包装在一个对象类型中。
type Minor1Wrapper
value: Minor1!
type Minor2Wrapper
value: Minor2!
union MinorCategories = Minor1Wrapper | Minor2Wrapper
【讨论】:
以上是关于GraphQL 枚举联合解决方法?的主要内容,如果未能解决你的问题,请参考以下文章
Elixir Absinthe GraphQL,联合 resolve_type list_of/1
使用 apolloclient 在 android 中 Graphql 查询导致“标量的意外枚举”