预期的 Schema ... 是一个 GraphQL 模式

Posted

技术标签:

【中文标题】预期的 Schema ... 是一个 GraphQL 模式【英文标题】:Expected Schema ... to be a GraphQL schema预期的 Schema ... 是一个 GraphQL 模式 【发布时间】:2019-02-16 07:20:39 【问题描述】:

尝试通过 apollo 在后端和前端设置订阅。尝试调用 Query 组件的 subscribeToMore 函数时出现错误。尽管它明确表示该架构不是 GraphQL 架构,但无法找到任何问题。

我有一个怀疑,因为我使用merge-graphql-schemas 来合并typeDefsrevolvers 并将合并的架构传递给SubscriptionServer,它如何不将它与订阅操作拼接在一起。

我有created a gist of all相关的部分。

TIA。

【问题讨论】:

【参考方案1】:

所以我终于想通了。

它确实与merge-graphql-schemas 库有关,但由于我的错。 看完文档后,说的是

请注意,mergeResolvers 只是将普通的 javascript 对象合并在一起。这意味着您应该小心有命名冲突的查询、突变或订阅。

这也显示在控制台日志记录中。

因此,根据服务器实现的不同,有不同的选项。

所以使用const schema = makeExecutableSchema( typeDefs, resolvers ); 制作架构有助于解决我的问题。

最初我尝试使用const schema = buildSchema(typeDefs);,但由于某种原因它没有缝合解析器并且它们停止触发。

【讨论】:

以上是关于预期的 Schema ... 是一个 GraphQL 模式的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose Schema 未按预期在对象的内置 Getter 中进行转换

无法使用 graphq-request 表示嵌套对象输入类型的数组

我们如何从 GraphQL 的 RequestContextHolder 获取 GraphQL 的 HttpServletRequest(DefaultGlobalContext)(使用 graphq

GraphQL,使用 GraphiQL 的查询语法不正确

dbplyr in_schema() 函数行为异常

使用 Mongoose 和 graphql-yoga 实现分页