假设我有一个带有属性的表 Personid
和name
. GraphQL 服务器全部由我设置Postgraphile
并工作,因为我可以查询和创建新条目。但是,我无法更新它。一遍又一遍地抓挠我的头,我仍然无法找出原因。
这是我尝试过的突变,它时不时地让我失望。
mutation($id: Int!, $patch: PersonPatch!) {
updatePersonById(input: { id: $id, patch: $patch }) {
clientMutationId
}
}
变量
{
id: 1,
patch: {"name": "newname"}
}
我Altair GraphQL client
用来提交突变请求,返回的错误消息是"No values were updated in collection 'people' because no values were found."
这个人id = 1
确实存在,通过发送查询personById
来确认他的名字。但我就是不能更新他的名字。
编辑#1
下面是生成的gqlAltair GraphQL Client
updatePersonById(
input: UpdatePersonByIdInput!
): UpdatePersonPayload
input UpdatePersonByIdInput {
clientMutationId: String
patch: PersonPatch!
id: Int!
}
input PersonPatch {
id: Int
name: String
}