我想出一个简化版本的突变问题。我的架构如下所示。
客户可以在部门中添加或删除一个或多个用户。在部门中添加或删除用户之前,我将执行多项业务逻辑检查。
我想有一种方法来返回部分错误作为响应,即返回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中没有其他选择,我可能会继续使用它。