【问题标题】:Sending request to REST endpoint with Apollo Client (React)使用 Apollo 客户端(React)向 REST 端点发送请求
【发布时间】:2018-07-18 08:23:15
【问题描述】:

我有一个 React 应用程序,我需要使用 Apollo 客户端向现有的 REST API 服务器发出请求。

一种可能的方法是创建包装现有 REST API 的 GraphQL 服务器,但我更愿意在客户端执行此操作并直接调用它。我认为这是过渡时期的临时解决方案。

尽管我们还没有 GraphQL 服务器,但现在迁移到 GraphQL 的目的是简化客户端代码并利用 Apollo 缓存功能来加速应用程序。

谢谢。

【问题讨论】:

    标签: reactjs graphql apollo apollo-client


    【解决方案1】:

    这应该可以通过Apollo links 实现。但是请注意,因为这是 Apollo 内一个积极发展的领域,所以会有一些粗糙的边缘。

    例如,看看apollo-link-rest

    如果您最终想要编写自己的链接来支持您的需求,请参阅the official links 以获得灵感和参考。

    【讨论】:

      【解决方案2】:

      半年后回答我自己的问题。

      基本上有两种可能的选择:apollo-link-restapollo-bridge-link

      我已经分析了它们,尝试使用它们,并决定使用apollo-bridge-link,尽管它不是由 Apollo 团队推广的,而且它的下载量和点赞量比 apollo-link-rest 少得多。我可以说这是正确的决定。我没有遇到任何困难。

      这是good article on apollo-bridge-link 的创建者和demo app 编写的。

      您必须创建一个 graphql 架构和解析器才能使 apollo-bridge-link 工作。就像您在 graphql 服务器上执行此操作一样。之后,如果您决定构建一个 graphql 服务器,那么在服务器上重用这个模式和解析器将非常容易。关于apollo-link-rest,我不能说什么。

      他们的方法是避免使用模式来使事情变得简单。但是,另一方面,你必须写type patchers。看看测试套件中的example,看看它在现实世界的应用程序中会变得多么复杂。

      【讨论】:

        猜你喜欢
        • 2021-10-16
        • 2018-04-16
        • 1970-01-01
        • 2020-01-24
        • 2020-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多