REST&GraphQL.gif
在API设计方面,REST和GraphQL各有优缺点。
REST
- 使用标准的HTTP方法,如GET, POST, PUT, DELETE进行CRUD操作。
- 当您需要在单独的服务/应用程序之间提供简单、统一的接口时,可以很好地工作。
- 缓存策略很容易实现。
- 缺点是可能需要多次往返才能从不同的端点组装相关数据。
GraphQL
- 为客户端提供一个端点来查询他们所需要的数据。
- 客户端指定嵌套查询中所需的确切字段,服务器返回包含这些字段的优化有效负载。
- 支持修改数据的“突变”和实时通知的“订阅”。
- 非常适合聚合来自多个来源的数据,并能很好地应对快速发展的前端需求。
- 然而,它将复杂性转移到客户端,如果没有适当的保护,可能会允许滥用查询
- 缓存策略可能比REST更复杂。
REST和GraphQL之间的最佳选择取决于应用程序和开发团队的具体需求。GraphQL非常适合复杂或经常变化的前端需求,而REST适合那些更喜欢简单和一致的契约的应用程序。
转自LinkedIn