Обработка частичных ошибок в мутациях GraphQL SPQR

Я придумал упрощенную версию проблемы мутации, которую пытаюсь решить. Моя схема будет выглядеть примерно так, как показано ниже.

Клиенты могут добавлять или удалять одного или нескольких пользователей из отдела. Есть несколько проверок бизнес-логики, которые я бы выполнял перед добавлением или удалением пользователя из отдела.

Я хотел бы иметь способ возвращать частичные ошибки в ответ, т.е. возвращать data с текущим набором пользователей, а также errors с указанием информации о неудачных добавлениях / удалениях в мутациях.

Я использую библиотеку graphql spqr при весенней загрузке. Пока все решения, с которыми я столкнулся, возвращаются толькоerrors без data или наоборот.

manageDept(
  #Users to be added to the department
  addedUsers: [UserInput] = [], 
  #Users to be removed from the department
  deletedUsers: [UserInput] = [], 
  #Department identifier
  deptId: String!
): Department
  
type Department {
  #Department identifier
  deptId: String!
  # users in department
  users: [User]
}

Ближайшее, что я нашел до сих пор, - это этот поток, но он используетDataFetcherResultсоздание зависимости graphql-java в сервисном коде. Если в SPQR нет альтернативы, я мог бы просто использовать ее.

0 ответов

Другие вопросы по тегам