如何使用 Apollo Server DataSource 调用 GraphQL API

Bre*_*ski 9 graphql apollo-server

在我们的 GraphQL api (Apollo-Server) 中,我们想添加一个新的数据源来访问 GitHub 的 GraphQL api。我们正在寻求使用这些数据。看来使用apollo-datasource-rest`是一个很好的方法来做到这一点。它是一个已建立的、仍在维护的模块,提供缓存、上下文访问和其他数据源优势。它也由 Apollo 团队管理。我们想要验证这是否是向其他 GraphQL API 发出请求的好方法。

其他选项有:

  • 滚动您自己的数据源,这似乎没有必要或有明显的好处
  • 使用构建数据源@apollo/client
  • 有一个模块,apollo-datasource-graphql看起来非常适合这个,尽管它已经两年没有更新了,而且看起来它可能尚未完成,测试和请求缓存也未完成。

使用apollo-datasource-restGraphQL 服务器服务中的数据源来访问其他 GraphQL API 是否是一种好的做法?

有没有更好、更成熟的方法来做到这一点?

A. *_*son 1

我们也有同样的担忧,因为我们的后端需要作为客户端使用 graphql api。REST 接口方法期望 http GET 查询可缓存,但不能缓存像 POST、PUT、DELETE 这样的动词...我对 GraphQL 的理解是,如果您仅使用 http POST 作为通信模式,这将阻止处理apollo-datasource-rest缓存对于您的查询,它可能不是合适的库。

其他需要考虑的方法: