如何运作

未匹配的标注

概述

阅读以下描述查询执行过程中的实现细节,这可能在不需要使用它的情况下,阐述 GraphQL 运行时的内部结构。

解析

TODOC

验证

TODOC

执行

TODOC

错误解释

GraphQL 有三种类型的错误:

  • 语法:查询语法无效,无法解析;
  • 验证:查询与类型系统不兼容(例如请求未知字段);
  • 执行:当某个字段解析器抛出(或返回意外的值)时发生。

很明显,当检测到 语法验证 错误时 - 过程中断并且不执行查询。

执行过程从不抛出异常。相反,所有错误都会被捕获并收集到执行结果中。

GraphQL 可以容忍发生在可空字段解析器中的 执行 错误。如果这样的字段抛出或返回意外的值,则响应中的字段的值将被简单地替换为 null,并且错误条目将被注册。

如果在非空字段中引发异常 - 错误会冒泡到第一个可为空的字段。这个可以为空的字段被替换为 null,并将错误条目添加到结果中。如果直到根的所有字段都是非空值 - 数据 条目将从结果中删除,并且只会显示 错误 的键。

本文章首发在 LearnKu.com 网站上。

本译文仅用于学习和交流目的,转载请务必注明文章译者、出处、和本文链接
我们的翻译工作遵照 CC 协议,如果我们的工作有侵犯到您的权益,请及时联系我们。

原文地址:https://learnku.com/docs/graphql-php/how...

译文地址:https://learnku.com/docs/graphql-php/how...

上一篇 下一篇
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
贡献者:3
讨论数量: 0
发起讨论 查看所有版本


暂无话题~