问题标签 [apollo-server]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
graphql - Apollo 订阅解析器永远不会激活?
我的组件正在调用订阅查询,但由于某种原因未访问订阅解析器:其中的断点从未被激活。然而在客户端我得到 GraphQL 订阅错误:
“订阅必须返回异步迭代。收到:未定义”
这可能是什么原因造成的?
提前感谢所有人提供的任何信息。
订阅查询
解析器
零件
node.js - Graphql 查询返回空值(Apollo 服务器)
我以编程方式创建了一个模拟来测试我的查询,但它只返回一个空值我做错了什么。我正在使用休闲库为我的模拟生成值
这是我的文件:
index.js
schema.js
模拟.js
当我运行以下查询时:
它返回:
所以我尝试了:
这返回
我究竟做错了什么
node.js - node.js 中的服务器崩溃
我正在使用节点服务器处理 graphql(Apollo)。如果大约 15 分钟内没有请求到达服务器,我会遇到服务器崩溃的问题。我在控制台中收到以下错误
我的配置中是否缺少任何特定配置?
node.js - 在使用由 neo4j 数据库支持的 apollo graphql 服务器时,我应该如何编写解析器?
我正在使用 neo4j dB,并且我已经设置了 apollo graphql 服务器(使用 graphql-server-express)。假设我的模式有 3 种类型,即“国家”、“州”和“人”,其中 1 个国家可以有多个州,1 个州可以有多个人。
//示例schema.js
那么,我应该如何在 resolver.js 文件中编写我的解析器函数,以帮助我从上述任何类型中正确获取数据?
我尝试在 resolver.js 文件中使用以下查询(使用 Cypher 查询语言查询 Neo4j 数据库),但出现类型错误,我无法修复它。
//示例resolver.js 文件。
graphql - 如何使用 graphql-tools 使用或解析枚举类型?
我在文档中的任何地方都找不到graphql-tools
应该如何使用enum
提供给makeExecutableSchema
. 有人知道这是怎么做到的吗?
示例代码:
解析器Color
会是什么样子?
graphql - 我有什么理由在 GraphQL 结果中取回查询名称?
将makeExecutableSchema
与以下查询定义一起使用:
以及以下解析器:
当我查询时:
我在 GraphiQL 中得到以下结果:
那么,有什么理由让我在结果中得到这个“getAccount”?
apollo-server - 在生产中禁用 graphiql
如何在生产中禁用 graphiql 但仍然能够在开发中访问它?
使用 express-graphql 我们可以做类似的事情
使用阿波罗服务器,我的设置是
而且我找不到传递给 NODE_ENV 以启用/禁用 graphiql 的方法。
node.js - 合并 Apollo 服务器的 GraphQL 解析器不使用 Object.assign()
我正在为 GraphQL API 模块化我的模式,并尝试在不使用任何 3rd 方库的情况下合并解析器。
Lodash.merge()
有没有一种简单的方法可以在没有或等效的情况下做到这一点?
Apollo 文档说要使用像 Lodash 这样的库来merge()
模块化解析器。(http://dev.apollodata.com/tools/graphql-tools/generate-schema.html#modularizing)
问题似乎是,解析器本质上包含作为属性的函数,所以当我通过访问它们时它们似乎被省略Object.assign()
了JSON.stringify()
。
如果我 console.log 他们,我看到:{"Query":{},"Mutation":{}}
以下是其中一个解析器的样子:
让我们假设还有一个几乎相同的名为widgetResolvers
.
这是一个功能齐全的代码块:
这是我想要实现的目标:
我还没有加载使用休息传播的能力(https://babeljs.io/docs/plugins/transform-object-rest-spread/)。我怀疑它不会因为同样的原因Object.assign()
不起作用。
哦,这就是我怀疑这种合并不起作用的原因:为什么 JSON.stringify 不显示作为函数的对象属性?
graphql - 在不启动服务器的情况下生成 json 模式?
是否有将模块化的 graphql 模式转换为 json 模式的独立工具?
我有一个使用 apollo-graphql 和 graphql-tools 的 graphql 服务器makeExecutableSchema
。它遵循此处描述的模式
如何创建schema.json
表单typeDefs
或者schema
?
我需要一个 json 模式来使用relay-compiler
or apollo-codegen
。apollo-codegen
包括此脚本以从 graphql 服务器创建模式...
...但我想在自动构建中创建模式并运行 apollo-codegen。我不想创建服务器。
我会将此作为答案提交,但该问题已被标记为离题¯\_(ツ)_/¯
@daniel-rearden 的回答为我指明了正确的方向。makeExecutableSchema
返回 aGraphQLSchema
所以可以使用graphql
'sprintSchema
和introspectionQuery
来获取模式的 json 或 graphql 语言表示。