如何使用Angular构建包含数组的GraphQL突变?

我在服务器上有这个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”

有帮助吗?

momate 回答:如何使用Angular构建包含数组的GraphQL突变?

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/2758481.html

大家都在问