对象数组的Graphql输入类型[重复]
Posted
技术标签:
【中文标题】对象数组的Graphql输入类型[重复]【英文标题】:Graphql input type of array of objects [duplicate] 【发布时间】:2019-07-09 17:52:57 【问题描述】:我有这个架构:
type Preference
_id: ID!
uID: ID!
preferences: [Category!]!
type Category
name: String!
subcategories: [String]!
type RootMutation
createPreference(perferenceInput: PerferenceInput) : Preference
input PerferenceInput
uID: String!
preferences: [Category!]!
schema
query: RootQuery
mutation: RootMutation
type RootQuery
preferences: [Preference!]!
category: [Category!]!
但是 Graphql 给了我一个错误,指出:message": "The type of PerferenceInput.preferences must be Input Type but got: [Category].",
我追溯到与 graphql 无法解析 [Category]
数组有关。
我需要将此数组作为 Preference 对象内的嵌套数组,但不知何故,graphql 无法解析它。那么,如何将 Category 数组作为输入类型传递?
【问题讨论】:
这个问题被问了很多。您不能使用需要输入对象类型的对象类型(即作为参数)。更详细的解释可以找到here。 【参考方案1】:这是众所周知的 GraphQL 限制。
您不能使用常规
GraphQLObjectTypes
作为GraphQLInputObjectType
字段的类型 - 您必须使用另一个GraphQLInputObjectType
。
您不能在架构中混合输入和输出类型。输入和输出类型有不同的类型范围。
【讨论】:
以上是关于对象数组的Graphql输入类型[重复]的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Prisma 和 GraphQL 创建自解析对象类型数组
Graphql type-graphql如何传递一个对象数组突变