处理GraphQL SPQR突变中的部分错误

时间:2020-07-08 17:07:00

标签: graphql-java graphql-spqr graphql-spqr-spring-boot-starter

我想出一个简化版本的突变问题。我的架构如下所示。

客户可以在部门中添加或删除一个或多个用户。在部门中添加或删除用户之前,我将执行多项业务逻辑检查。

我想有一种方法来返回部分错误作为响应,即返回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]
}

到目前为止,我发现的最接近的是这个thread,但是它使用DataFetcherResult在服务代码中创建了graphql-java依赖项。如果SPQR中没有其他选择,我可能会继续使用它。

0 个答案:

没有答案