问题标签 [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 - 是否可以在 GraphQL 查询中使用嵌套/命名空间查询变量?
我想像这样命名/嵌套查询变量:
与变量:
但这不是一个有效的查询。
但是像这样的查询:
与变量:
会工作得很好。
我想这样做的原因是自动将查询选项发送到 ApolloReactgraphql
高阶组件,其中的params
prop 应用于来自 react 路由器的包装组件。这个问题本质上与 react router 无关,除了params
prop 是由 react router 应用到组件之外。
ApolloReact 将尝试使用组件中的 props 来自动构建 variables 对象,并且由于id
嵌套在props
其中无法找到它。
id
另一种方法是通过定义一个options
接收ownProps
和返回变量对象的方法来专门定义查找位置,graphql
但如果可能的话,我想避免它。
javascript - 如何向“GraphQL 模式语言”中的字段添加描述
我有一个 graphql 模式,其中的一个片段如下所示:
在 graphiql 中,有一个描述字段,但它总是说“自我描述”。如何向架构添加描述?
javascript - Apollo 服务器的自定义错误对象
我正在尝试使用apollo-server的自定义错误,似乎我的自定义错误有一个属性 ( code
) 在内部不可用formatError
。
我有一个简单的错误处理程序是这样的:
我遇到了麻烦,因为当我error.code
从内部登录时formatError
它不可用。
如何从内部传播自定义属性(如code
)?error
formatError
graphql - Apollo:订阅与查询解析器之间的区别?
此解析器工作正常:
对订阅解析器使用与查询解析器完全相同的代码是否有意义?IE:
如果不是,需要什么区别?提前感谢所有人提供的任何信息。
graphql - Apollo:通过 Props Query 选项访问 updateQuery?
我正在研究 GitHunt-API 和 GitHunt-React 中的 pubsub 代码。我看到这段代码:
这是我的应用程序中它的当前版本:
updateQuery 以undefined
. 我需要做什么才能访问 updateQuery?
提前感谢所有人提供的任何信息。
microservices - GraphQL:对来自不同数据源的嵌套实体进行过滤、排序和分页?
我正在尝试使用 graphql 将多个休息端点联系在一起,但我一直坚持如何过滤、排序和分页结果数据。具体来说,我需要按嵌套值过滤和/或排序。
我不能在所有情况下都对其余端点进行过滤,因为它们是具有单独数据库的单独微服务。(即我可以title
在其余端点中过滤文章,但不能在 author.name 上过滤)。排序也是如此。如果没有过滤和排序,也无法在其余端点上进行分页。
为了说明这个问题,并作为解决方案的尝试,我formatResponse
在apollo-server中使用了以下方法,但我想知道是否有更好的方法。
我已经将解决方案归结为我能想到的最小的文件集:
data.js 表示 2 个虚构的休息端点将返回的内容:
架构定义为:
主要的 index.js 是:
为了便于参考,这些文件可在此 gist中找到。
通过这个设置,我可以发送这个查询:
连同这些变量(看起来这不是变量的预期用途,但这是我可以将后处理参数放入 formatResponse 函数的唯一方法。):
并获取此响应,过滤到 Sam 是作者的位置,按 id 降序排序,并获取页面大小为 1 的第二页。
或者这些变量:
对于此响应,按作者姓名降序排序并获取除第一篇以外的所有文章。
因此,如您所见,我使用 formatResponse 函数进行后处理来进行过滤/分页/排序。.
所以,我的问题是:
- 这是一个有效的用例吗?
- 有没有更规范的方法来对深度嵌套的属性进行过滤,以及排序和分页?
apollostack - Apollo Subscription 似乎没有在 Mutation 上被调用
Apollo 的新手,所以我决定采用我发现的最简单的例子,并尝试以稍微不同的方式来工作。我的代码可以在这里找到。
我遇到的问题是,当我调用 Mutation 时,似乎没有调用 Subscription createTask()
。突变和订阅在 schema.graphql 中定义为:
在 resolvers.js 中为:
我期望发生的是,每次在客户端运行以下命令时,我都会在服务器中获得一个 console.log:
但什么也没有发生。我错过了什么?
javascript - Apollo 服务器 + React Apollo pubSub 不显示数据
突变后,我似乎无法在我的反应前端收到 pubSub 数据
我有以下 Graphql 架构:
在我的 apolloServer 上,我像这样发送 pubSub 数据
该 console.log 将输出:
最后在我的反应前端我有以下内容:
}
在上面的console.log 订阅数据始终为空。
我是否将响应包装错了或类似的东西?
graphql - Apollo GraphQL:一个组件中的多个查询?
我有一个组件需要查询两个完全独立的表。在这种情况下,模式、查询和解析器需要是什么样的?我用谷歌搜索但还没有找到例子。在此先感谢您的任何信息。
更新:
在 Slack 上,我看到可能有一种方法可以compose
用于此目的,例如:
有没有办法有多个这样的声明:
...在调用之前来的export default compose
?