error-handling - 仅返回 GraphQL 中的子解析器错误
问题描述
以下是架构
type Payload {
name: String!
address: String!
phone: String
}
type Mutation {
login(username: String!, password: String!): Payload!
}
以下是有效载荷的解析器
Payload: {
user: {
resolve: async (parent, args, context, info) => {
// Some logic here
throw err;
}
}
}
当我从子解析器(此处为有效负载解析器)抛出错误时,graphql 仍然返回从父解析器返回的所有有效负载数据,并且仅对于用户字段它返回错误。我们可以更改此行为以仅返回子解析器抛出的错误吗?
解决方案
我不认为这是可能的。根据GraphQL 响应文档:
- 如果任何一个
data
被解析并被error
抛出,两者都将由服务器返回。
推荐阅读
- delphi - 是否有可能以点击它的方式操作 TCustomButton 的后代,而不会窃取另一个控件的焦点?
- java - 无法扩展 CDT CEditor:“类型 '' 的层次结构不一致”
- javascript - 在调用“getRules”后防止 Jquery QueryBuilder 刷新
- java - 使用 spring 批处理程序访问文件时出错。尝试了所有可能的方法同样的错误
- c# - 如何正确地进行发布请求
- jquery - 在 td 上使用 data-id 参数过滤表
- typescript - 如何编写一个函数,通过类型检查将字段添加到对象数组?
- java - 使用哪种基于 Java 节点的数据结构?
- java - JPanel 的平滑运动和同时更新 JLabel
- python - 尝试在 Python 中对 .csv 文件进行排序(创建列表并删除重复项)