我有一个GraphQL中间件设置,可以处理从多个来源获取数据的情况。我使用与此类似的查询来执行变异。
mutation createBook ($input: BookInput!) {
bookObject {
id
name
author: author {
id
name
}
}
}
我在这里有两个解析器,一个用于createBook
突变,另一个用于解析期望author_id
现在,万一发生错误导致无法在后端创建书,我将在中间件中编写的解析器中进行处理。我建立一个错误对象,然后将结果发送回前端。格式为-
{
errors: [{
message: "There is already a book with this name."
}]
}
由于此处的createBook
为空,因此解析程序会引发错误,提示author_id is undefined
。
作者解析器供其他多个解析器使用,我会避免在其中放置任何逻辑。
在将UI传递给用户之前,是否有更好的方法来处理此类错误?
PS:我已经尝试了一种方法来处理此类错误 前端而不是解析器。这是建议的方式吗 处理此类错误?