在GraphQL中处理后端错误情况

时间:2018-08-28 04:14:01

标签: javascript graphql apollo

我有一个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:我已经尝试了一种方法来处理此类错误   前端而不是解析器。这是建议的方式吗   处理此类错误?

0 个答案:

没有答案