graphql-yoga - GraphQL 解析器参数在哪里定义和记录?
Posted
技术标签:
【中文标题】graphql-yoga - GraphQL 解析器参数在哪里定义和记录?【英文标题】:graphql-yoga - where are GraphQL resolver arguments defined and documented? 【发布时间】:2019-08-07 08:22:25 【问题描述】:我已经看到几个来源描述了 graphql-yoga
解析器的 (root, args, context, info) 参数,但我仍在寻找 graphql-yoga
解析器的真实文档。有几篇博文提到了解析器参数:
-
prisma blog - Feb 2017 - GraphQL Schemas, TypeDefs & Resolvers Explained
prisma blog - Feb 2018 - Demystifying the info Argument in GraphQL Resolvers
我知道prisma
通过graphql-tools
在graphql.js
上构建了graphql-yoga
,并且似乎graphql.js
documents these parameters at graphql.org - Root fields & resolvers,但尚不清楚graphql.org
是否是graphql.js
的主要位置已记录在案,即使是,我也不清楚作为graphql-yoga
的用户,我应该遵从graphql.js
的文档。
另外,prisma
在apollo-server
上构建了graphql-yoga
; apollo-server
的文档在这里最适用吗?
这些参数似乎不是 GraphQL 规范的一部分。
graphql-yoga
解析器参数的真实文档在哪里?如果这不可用且没有记录,那么 graphql-yoga
源中的哪个函数期望参数采用这种形式?
【问题讨论】:
为什么投反对票?我已经真诚地努力正确使用堆栈溢出来解决这个问题 - 请解释为什么你认为这个问题不合适。甚至还有一个堆栈溢出元问题,它肯定了关于文档的精心编写的问题:meta.***.com/questions/288008/… 【参考方案1】:TL;DR
要与graphql-yoga 一起使用,您可能需要在graphql-tools
section for Resolver function signature
中关注apollo-server 的解析器文档。
详情
要知道使用哪些文档,需要了解完整的技术堆栈:prisma 在 apollo 的工具之上构建了东西,而后者又构建在 GraphQL 的参考实现之上,graphql.js .此堆栈的每一层都有一个单独的文档站点。
您可以从 graphql-yoga README 中追踪,它说它是基于 apollo-server 构建的,而 apollo-server 自己的 README 反过来说:
Apollo Server 可与使用 GraphQL.js 构建的任何 GraphQL 架构一起使用,因此您可以直接使用它或使用方便的库(例如 graphql-tools)来构建架构。
所以graphql-yoga 是apollo-server 的一种固执己见的、包含电池的形式,它从graphql.js 获取模式,但可能与apollo 自己的graphql-tools 指定的模式更无缝集成。
【讨论】:
以上是关于graphql-yoga - GraphQL 解析器参数在哪里定义和记录?的主要内容,如果未能解决你的问题,请参考以下文章
Type as property 使用 graphql-yoga 和 prisma 解析为 null
javascript 查询e解析器简单com graphql-yoga
使用 Mongoose 和 graphql-yoga 实现分页