我正在尝试从React应用程序对我的graphQL服务器进行 mutation
调用。反应代码如下所示:
client.query({
query: gql`
mutation{
addTeam(input:{name:"Somename", label:"somelabel"})
{error, status}
}`
}).then((resp: any) => {
console.log("Success", resp);
}).catch(err => {
throw err;
})
我收到以下错误:
但是,如果我将相同的请求从mutation
更改为query
,并在node-graphQL-server中进行必要的更改,以将其作为query
而不是{{1 }}相同的代码有效。
mutation
docs says 在GraphQL中,变异与语法查询相同,唯一的区别是您使用关键字
Mutation
而不是mutation
...
哦,顺便说一句,相同的query
在 mutation
中查询WORKS。
请帮助大家,我的工作有点停止了这个问题。
谢谢!
答案 0 :(得分:2)
您应使用客户端的mutate
方法进行突变,而不是query
方法。该方法的选项可以在in the docs中找到。阿波罗对于查询和突变的处理方式持保留意见,因此每种方法都有适合每个操作行为的不同选项(例如,mutate
包括一个refetchQueries
选项)。
client.mutate({
mutation: gql`
mutation {
addTeam(input:{name:"Somename", label:"somelabel"}) {
error
status
}
}`,
})
答案 1 :(得分:1)
当前有一个GitHub问题谈到此错误:https://github.com/apollographql/apollo-client/issues/1539