GraphQL 解析器的实现与应用
1. 解析器基础
在 GraphQL 开发中,遵循 GraphQL 优先的方法,下一步就是实现从数据层获取数据的代码。这通过编写解析器(resolvers)函数来完成。
1.1 解析器的定义与特性
解析器是独立的函数,用于为 GraphQL 类型的单个字段获取数据,可被视为 GraphQL 服务中的主要执行单元。解析器以嵌套方式调用,从根级解析器(Query、Mutation 或 Subscription 类型上的字段)开始,采用深度优先执行,直到解析完所有请求的字段。之前解析器中解析的数据会通过 obj 参数传递给嵌套解析器。
1.2 解析器函数的签名
每个解析器函数接收四个参数:
- obj :先前解析的对象,根级 Query 字段解析器不使用。
- args :GraphQL 查询中用于该字段的参数。
- context :可包含上下文数据的对象,如授权信息或数据库连接。
- info : GraphQLResolveInfo 对象,包含 GraphQL 查询的版本、完整的 GraphQL 模式以及查询和模式的其他元数据。
1.3 解析器返回的有效结果
根据解析字段的 GraphQL 类型定义,解析器函数返回的有效结果包括:
- 标量或对象值
- 数组
- Promise
- u
超级会员免费看
订阅专栏 解锁全文
33

被折叠的 条评论
为什么被折叠?



