子图错误包括
配置路由以将子图错误传播到客户端
默认情况下,一个GraphOS 路由器或Apollo 路由器核心将遮盖响应客户端时的子图错误详情。路由器将返回以下消息的默认错误:
Subgraph errors redacted
这种遮盖防止了敏感信息可能泄露给客户端。使用include_subgraph_errors
插件,您可以配置路由器将子图错误传播给客户端。您可以为此配置所有子图,也可以按每个子图专门配置。
配置
要配置子图错误包含,将include_subgraph_errors
插件添加到您的YAML 配置文件中,如下所示:
router.yaml
include_subgraph_errors:all: true # Propagate errors from all subgraphssubgraphs:products: false # Do not propagate errors from the products subgraph
任何位于子图subgraphs
键下的配置都会覆盖位于all
键下的配置。在上面的示例中,除了products
子图外,其他所有子图都包括了子图错误。
将错误发送到 GraphOS
要将子图错误报告给图OS,这是一个独立的配置,不受客户端子图错误包含的影响,请参阅GraphOS 报告文档。
记录 GraphQL 请求错误
要记录来自路由器的 GraphQL 错误响应(即 GraphQL错误数组中返回的消息),请参阅记录配置文档。