发布于 2025-12-10 3 阅读
0

REST 还是 GraphQL,您选择哪一个?

REST 还是 GraphQL,您选择哪一个?

语境

当我开始开发时,REST API 是我的首选,并成为我所有项目中的标配。时间快进到 2019 年初,我接触到了我的第一个 GraphQL 项目。当我第一次看到 GQL 实现时,我有很多不好的评价,其中大部分源于 GraphQL 与我习惯的 GraphQL 完全不同。

虽然我第一次使用 GraphQL 时有很多话要说,但自从第一次接触 GraphQL 以来,我还没有创建过新的 REST 项目。

我的理由

你可能不明白为什么我继续使用 GraphQL 而不是 REST。即使第一次看到它的实现时感到很反感。但有几件事让我坚持了下来:

  • GQL 允许客户端仅请求其所需的数据,从而消除数据获取不足/过度的情况。
    • 引入简单的客户端优化(更少的数据==加载更快)
  • 无需 API 版本控制,因为可以添加和弃用字段而不会影响客户端。
  • 强类型,意味着您知道可用的数据以及数据的类型。
  • 与其他服务的集成。
    • 对我个人而言,最大的优势在于能够将 GQL 投影应用于我的 MongoDB 查询。这减少了通过网络处理的数据量,并降低了查询的开销。
  • 订阅非常棒,可以轻松地将实时数据引入您的应用程序。
  • Apollo,是的,这个库是我仍然使用 GraphQL 的主要原因之一。它设置快捷方便,带有强大的可配置缓存系统,支持错误处理,以及许多其他实用功能,让使用体验更加出色。

您的想法?

虽然我使用 GraphQL,但您对这两种技术有什么偏好和看法?我希望了解关于这个话题的其他观点,甚至希望在此过程中学到一些新的东西。

文章来源:https://dev.to/skinnypetethegiraffe/rest-or-graphql-which-do-you-choose-5c5n