graphql - express graphql 总是为解析器抛出的任何错误发送 500 Internal server error
问题描述
我在我的节点应用程序中使用 express graphql。并且它 graphql 总是为解析器抛出的任何错误发送 500 Internal server error。请提出任何解决方案,以便我得到正确的响应和状态码
解决方案
每当检测到没有返回数据时,express-graphql 都会发送 HTTP 错误 500。当然,如果抛出异常,则不会有返回数据。尽管它看起来像是一个明显的错误,但开发人员对此有自己的看法。他们似乎决定提供一个选项来禁用该功能,以便服务器不应该设置 500 错误。至少这方面的未决问题仍然存在。
查看来源,我发现这些选项可以解决这个问题:
- 在解析器中设置除 200 以外的任何其他响应代码(例如 299(自定义))。
- 在错误格式处理程序中设置响应代码。这似乎是最优化的解决方案。
- 只是为了拿起其他图书馆=)
推荐阅读
- apache-spark - Pyspark - 根据单词列表检查列字符串并删除
- javascript - 为什么自动检测 otp 没有在 React 中渲染代码
- android - 如何在没有 Partial_Wakelock 的情况下让我的应用程序也以打盹模式运行?
- c++ - 多线程管理器
- php - 如何正确关闭 OOP PHP 数据库连接?
- bash - 使用 awk 命令的 bash 脚本中的语法错误
- asp.net-core - 无法使用 Ubuntu 20.04 使 Net5 工作(OpenSSL 连接问题)
- matlab-figure - 在matlab中手动进行卷积
- spring - Spring Data Cassandra 不处理原始 UDTS,不抛出合适的转换器异常
- javascript - 无法从 React 中的路径渲染图像