问题标签 [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.

0 投票
1 回答
247 浏览

apollo - Apollo 客户端乐观响应如何工作

http://dev.apollodata.com/react/mutations.html

我正在尝试optimisticResponse,但我很困惑......并且无法让它在我的本地工作。

我的问题是:

  1. optimisticResponse更新props并因此重新渲染?__typename: 'Mutation'你能离开它有多重要?
  2. updateQueries是为了新的记录出现吗?这个函数是自动触发还是你需要调用它?

有没有完整的例子,包括阿波罗服务器端?

0 投票
3 回答
20513 浏览

graphql - 如何在 apollo graphql 服务器中创建嵌套解析器

鉴于以下 apollo 服务器 graphql 架构,我想将它们分解为单独的模块,因此我不希望在根查询架构下进行作者查询..并希望将其分开。所以我在将其添加到根查询之前添加了另一个名为 authorQueries 的层

我尝试了以下..您可以看到在指定作者函数之前将 authorQueries 添加为另一层。

在 Graphiql 中查询时,我还添加了那个额外的层..

我收到以下错误。

"message": "Resolve function for \"Query.authorQueries\" returned undefined",

0 投票
0 回答
1285 浏览

javascript - 使用 Passport Facebook 验证 Apollo GraphQL API

我有一个客户端服务器和一个 API,都使用Apollo。当用户使用 Facebook 登录时,我想向我的客户端服务器发送一个令牌,然后将其附加到对 API 发出的每个请求的标头中。不使用会话。

这是 API 的外观,当用户使用 Facebook 登录时,这会成功生成令牌(我还在后台检查数据库中的用户)。

我的问题是,我现在如何安全地将这个令牌交给客户?我已经阅读了 thisthis,这导致我在参数中传递了令牌,但我不确定我正在做的事情是否安全。

这是我在客户端获取它的方式:

在此之后,在 API 中使用它:

0 投票
1 回答
83 浏览

angular - 数据更改时保持两个值同步

我有两个变量goalsDatagoals它们在初始加载时可以正常工作,但我想保持goal同步,goalsData以便如果该变化发生变化,我goalsDatagoals如何实现这一点?

0 投票
1 回答
1326 浏览

angular - Angular2 中的 Apollo 客户端自定义标头和附加变量

如何使用 Angular2 使用 npm apollo-client 添加自定义标头并在请求正文中引入其他自定义变量。我希望在我的 graphQL 查询中引入一个额外的自定义变量,例如请求正文中的默认“变量”对象以及自定义标头。我尝试使用 createNetworkInterface 的 applyMiddleware。

以下是预期的请求正文格式:

0 投票
1 回答
1326 浏览

mysql - 在 Apollo GraphQL 中,如何设置解析器以不循环值?

我在 Node.js 中与 Apollo-Server 和 Express.js 一起使用 Sequelize。

当进行越来越深入的查询时,GraphQL 会循环我的模型并通过 ID 对每个模型进行单独的查询。

例如,如果我得到user(userId) > playthroughs > scores,这将查找该用户(没问题),然后查找所有的游戏通关userId(仍然没什么大不了的),但是为了获得分数,它会循环每个playthroughId并执行对每个完全独立的查询。这是非常低效的,并且导致我的查询花费的时间比他们应该的要长。

而不是循环:

我真的很想自己抓取数组并像这样执行该循环:

这也发生在我去年使用 Facebook 的参考 GraphQL 时,所以我认为它不是特定于 Apollo 的实现。

我想知道如何调整这些查询,以免它们对性能造成如此大的影响。

示例解析器:

0 投票
2 回答
7703 浏览

node.js - 解析器抛出错误时的 GraphQL 重定向

0 投票
1 回答
88 浏览

apollostack - Apollo:所需的服务器响应形状?

我刚刚让我的第一个关系数据库模式/查询/解析器在 apollo/postgres/sequelize 中工作,直到解析器将数据返回给客户端的时候。显然我还没有正确形状的数据,因为它在客户端上显示为空。

询问

解析器的当前响应形状

通过在服务器上运行的 console.log,在发送到客户端之前:

当它返回给客户端时,它在 Chrome 开发工具中的外观

解析器中的最后THEN一块

有人可以指点我看看服务器响应的形状有什么问题吗?

0 投票
1 回答
6073 浏览

javascript - 如何为 GraphQL 服务器设计以下解析器?

我正在使用 mysql 和 sequelize 在流星上使用 react-apollo,我仍然是 JS 的初学者。假设我的阿波罗服务器上有以下解析器功能:

我想从满足某些条件的数据库中选择一些数据,然后计算所选行的数量并将它们返回到“numberOfPosts”字段中。 findAndCountAll()返回一个对象,其中包含选定的行和计数。我想让我post()只返回选定的行,而我的 numberOfPosts() 只返回选定帖子的计数。现在,两者都由posts() 返回。

我的架构是:

目标是接收以下格式的数据:

到目前为止我的工作:尝试1:

因此,我在解析器之外定义了一个帮助变量,并将其设置为所选行数,然后在 中返回计数numberOfPosts(),这有效,但问题是,return results.rows导致错误,我不明白为什么。

另一个问题是,那selectedCount总是之前的行数

试试 2

另一个似乎可行的解决方案是将参数两次传递到 GraphQL 查询中,如下所示:

然后两个解析器函数都知道相同的参数,所以我可以选择和计算相同的帖子。但这对我来说看起来不对,因为我必须传递相同的 args 两次,它们也会被传输两次......

0 投票
1 回答
902 浏览

node.js - Apollo Server HAPI CORS 预取不起作用

graphql-server-hapi我必须使用的模块存在很大问题。一切正常,直到我必须从带有 CORS 的浏览器请求我的 API。

这是寄存器配置:

我在本地主机上使用 Postman 运行的请求一切都很好POST,但是当我想运行一个OPTIONS请求时(就像浏览器一样),我得到一个 404 并在 Access-Control-Request-Method 上出现错误:

我到处搜索,但似乎没有人在我之前遇到过这个问题(?!)。官方文档说这cors : true足以启用CORS ...

我尝试OPTIONS在注册选项上手动添加方法,没有任何效果。

谢谢你的帮助 !