预期的 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
来合并typeDefs
和revolvers
并将合并的架构传递给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