graphql - 对于解析器抛出的任何错误,express graphql 始终发送 500 内部服务器错误

标签 graphql express-graphql

我在我的节点应用程序中使用express graphql。对于解析器抛出的任何错误,graphql 总是发送 500 内部服务器错误。请提出任何解决方案,以便我得到正确的响应和状态代码

最佳答案

每当检测到没有返回数据时,express-graphql 就会发送 HTTP 错误 500。当然,如果抛出异常,则不会返回数据。尽管它看起来像是一个明显的错误,但开发人员对此有自己的看法。他们似乎决定提供一个选项来禁用该功能,以便服务器不应该设置 500 错误。至少这方面的悬而未决的问题仍然存在。

查看来源,我发现这些选项可以解决问题:

  1. 在解析器中设置除 200 之外的任何其他响应代码(例如 299(自定义))。
  2. 在错误格式处理程序中设置响应代码。这似乎是最优的解决方案。
  3. 只是为了选择其他一些库 =)

关于graphql - 对于解析器抛出的任何错误,express graphql 始终发送 500 内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57624962/

相关文章:

javascript - Apollo 服务器 : How to access 'context' outside of resolvers in Dataloader from REST API Datasource

node.js - 安装 graphql-tools 和 graphql-express 后。控制台中出现错误消息 'Cannot find name ' AsyncIterator'

javascript - GraphQL 突变仅返回一个结果

python - Django 模型对象和 Graphene get_node

github - 使用 GraphQL [Javascript] 从 Github 存储库获取图像

go - HTTP请求: golang with graphQL?

javascript - 将只有键的对象分配给 require 语句

graphql - 永远不会调用 Apollo Server 订阅订阅方法

javascript - GraphQL Node : determine what types are used within a query