我在我的节点应用程序中使用express graphql。对于解析器抛出的任何错误,graphql 总是发送 500 内部服务器错误。请提出任何解决方案,以便我得到正确的响应和状态代码
最佳答案
每当检测到没有返回数据时,express-graphql 就会发送 HTTP 错误 500。当然,如果抛出异常,则不会返回数据。尽管它看起来像是一个明显的错误,但开发人员对此有自己的看法。他们似乎决定提供一个选项来禁用该功能,以便服务器不应该设置 500 错误。至少这方面的悬而未决的问题仍然存在。
查看来源,我发现这些选项可以解决问题:
- 在解析器中设置除 200 之外的任何其他响应代码(例如 299(自定义))。
- 在错误格式处理程序中设置响应代码。这似乎是最优的解决方案。
- 只是为了选择其他一些库 =)
关于graphql - 对于解析器抛出的任何错误,express graphql 始终发送 500 内部服务器错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57624962/