我在服务器上有这个typeDef:
extend type Mutation {
setMySkills (skills: [
SkillUpdated!
]!) : [MySkills]
}
type MySkills {
name: String!,id: Int!,order: Int!,from: String!,to: String,minYear: Int!
}
input SkillUpdated {
name: String,id: Int,fromMonth:Int!,fromYear:Int,toMonth:Int,toYear: Int
}
因此,为了在Playground上使用它,我可以这样做:
mutation {
setMySkills(
skills: [
{ name: "Skill1",id: 1,order: 0,fromMonth: 0,fromYear: 1999 }
{ name: "Skill2",id: 2,order: 1,fromMonth: 9,fromYear: 1994 }
])
{name,id,order,from,to,minYear}
}
在我的Angular应用程序中,我具有以下内容:
submitQuery = gql`
input SkillType {
name: String!,fromMonth: Int!,fromYear: Int!,toMonth: Int,toYear: Int!
}
mutation setMySkills($skills: [SkillType!])
{
setMySkills(skills: $skills)
}`
this.apollo.mutate({
mutation: this.submitQuery,variables: {
skills:
[
{ name: "Skill1",fromYear: 1999},{ name: "Skill2",fromYear: 1994 }
]
}
]).subscribe(({ data }) => {
console.log(data
},(error) => {
console.log(error)
});
但是我得到:不变违规:查询中不允许使用架构类型定义。找到:“ InputObjectTypeDefinition”
有帮助吗?