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