【发布时间】:2019-11-04 18:47:11
【问题描述】:
我正在使用一台解决 GraphQL 查询的服务器。我使用了 graphql-kotlin 库:https://github.com/ExpediaDotCom/graphql-kotlin。
我定义了三个解析函数(可以看成三个字段):getxxx(arguments...)、getTarget(arguments...)和getSource(arguments...)。
问题是如果我的查询字段之一失败,我只会得到“错误”字段。所有其他成功执行的结果(数据)都将被删除。 如果我尝试捕获失败字段的异常,那么我最终不会得到“错误”字段。
目标是在“数据”字段中返回成功获取的数据,并在“错误”字段中返回失败字段的错误消息。 我已经检查过了:How to return both error and data in a graphql resolver? 如果我故意设置一个抛出一个错误或异常的字段,我最后只会得到“错误”字段(如上图)。
另外,很多这样的网站:https://itnext.io/the-definitive-guide-to-handling-graphql-errors-e0c58b52b5e1 建议我们应该返回部分结果和错误消息,但在我的情况下,如果我遇到异常,只会返回错误消息。
【问题讨论】: