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

2025-06-07

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
PREV
使用 Next.Js 13 构建简单的 CRUD API
NEXT
我可以只做前端开发吗?还是需要成为全栈开发者?选择一个 JavaScript 框架并精通它。在 HTML、CSS 和 JavaScript 中严格遵循编码规范。总结