gpt4 book ai didi

api - REST 与数据库作为 GraphQL API 数据源?

转载 作者:行者123 更新时间:2023-12-04 13:51:11 25 4
gpt4 key购买 nike

我们正在启动一个新的全栈项目。已经决定我们将使用 React 作为前端,它应该使用 GraphQL API。

我们正在考虑开发此 API 的两种方案:

  • 第一个是使用 Apollo 构建一个使用 REST API 作为数据源的 GraphQL API。
  • 第二个是构建一个 GraphQL API,它使用数据库作为跳过 REST API 的数据源。

  • 每个场景的优缺点是什么?这个比那个好吗?

    最佳答案

    基于我们对 gitter 的讨论,

    由于您是从头开始构建平台,因此您无需通过 REST API 构建 GraphQL 层。这将是双重工作,不需要。我建议你设置 Apollo-Server这将直接与您的数据库交互。

    你说你可能需要使用一些遗留的 API,我推荐了可以轻松使用 graphql 的微服务。

    关于 PRISMA,它没有给你那么多的灵活性。它还不允许对诸如递增或递减值之类的字段进行符合 ACID 的更新。 This issue在 github 上可用于跟踪此功能的更新。

    PRISMA 有利于让您快速设置,但我(个人意见)觉得它不那么灵活。

    您的最后一个问题是如何在没有 REST API 的情况下查询数据库/数据库,为此我建议直接从您的服务器进行查询。

    GraphQL 是客户端,Apollo 将帮助您扩展它并提供更多功能。除了不需要为每个请求定义单独的端点这一事实之外,您不需要做与创建 REST API 时所做的事情大不相同的事情。除了您只返回/查询您需要的数据并且这可以动态完成之外,数据库交互几乎保持不变。来自 graphql website

    Send a GraphQL query to your API and get exactly what you need, nothing more and nothing less. GraphQL queries always return predictable results. Apps using GraphQL are fast and stable because they control the data they get, not the server.



    其他提及: AWS Appsync

    关于api - REST 与数据库作为 GraphQL API 数据源?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52049251/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com