Допустим, у меня есть таблица Person с атрибутами id
и 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
Ниже приведен gql, сгенерированный Altair GraphQL Client
updatePersonById(
input: UpdatePersonByIdInput!
): UpdatePersonPayload
input UpdatePersonByIdInput {
clientMutationId: String
patch: PersonPatch!
id: Int!
}
input PersonPatch {
id: Int
name: String
}