【发布时间】:2020-09-03 23:24:19
【问题描述】:
有没有办法通过 apollo 异常处理程序手动运行异常?
我在 GraphQL 中有 90% 的应用程序,但仍然有两个模块作为 REST,我想统一处理异常的方式。
所以 GQL 查询抛出标准 200 错误数组,其中包含消息、扩展等。
{
"errors": [
{
"message": { "statusCode": 401, "error": "Unauthorized" },
"locations": [{ "line": 2, "column": 3 }],
"path": [ "users" ],
"extensions": {
"code": "INTERNAL_SERVER_ERROR",
"exception": {
"response": { "statusCode": 401, "error": "Unauthorized" },
"status": 401,
"message": { "statusCode": 401, "error": "Unauthorized" }
}
}
}
],
"data": null
}
REST 使用 JSON 抛出真正的 401:
{
"statusCode": 401,
"error": "Unauthorized"
}
那么我可以简单地捕获并以 Apollo 服务器格式包装异常,还是必须手动格式化我的 REST 错误?谢谢
我正在使用 NestJS 和 GraphQL 模块。
【问题讨论】:
标签: node.js exception graphql nestjs apollo-server