在不同的突变中使用相同对象的输入类型
Posted
技术标签:
【中文标题】在不同的突变中使用相同对象的输入类型【英文标题】:Using input types of the same object in different mutations 【发布时间】:2018-12-24 11:30:51 【问题描述】:我有一个输入类型,我想在多个突变中使用它。它从一种突变到另一种突变的唯一区别是其字段的强制属性。
例如,假设我在创建突变中使用了以下输入类型:
input ObjectInput
name: String!
description: String!
name
和 description
字段均为必填字段。
如果我想在 description
是可选的另一个突变中使用相同的输入类型怎么办?我真的必须创建另一个输入类型来消除字段的强制属性吗?
【问题讨论】:
【参考方案1】:我真的必须创建另一个输入类型来消除字段的强制属性吗?
是的。
如果有多个共同的字段(相同的名称,完全相同的类型),那么您可以将其分解为一个单独的类型,嵌入到您的输入对象类型中;
input ObjectIdentity
name: String!
input ObjectInput
identity: ObjectIdentity!
description: String!
但这会以您不希望的方式更改对象格式(添加额外的“身份”对象字段)。
【讨论】:
以上是关于在不同的突变中使用相同对象的输入类型的主要内容,如果未能解决你的问题,请参考以下文章
对象作为突变中的输入变量:GraphQL - Apollo - React
HotChocolate 突变输入类型使用 int 而不是 ID