我有这样的架构:
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数组作为输入类型传递?
答案 0 :(得分:1)
这是众所周知的GraphQL限制。
您不能将常规
GraphQLObjectTypes
用作GraphQLInputObjectType
字段的类型,而必须使用另一个GraphQLInputObjectType
。
您不能在架构中混合输入和输出类型。输入和输出类型具有不同的类型范围。