SOAP和REST是过去十年中唯一占据统治地位的API协议,并且在不同的垂直领域有广泛的实现。一些新时代的协议,如Facebook的GraphQL和谷歌的GRPC,由于其灵活性和易用性,现在在开发人员中广泛流行。Twitter、GitHub、Paypal、IBM、AWS和Shopify等新时代技术巨头都采用了GraphQL,这促使我们开始讨论GraphQL。
GraphQL是什么?
GraphQL是一个开源的API查询语言——Facebook的一个新的API标准。它在运行时执行,并使用现有数据完成查询。GraphQL在API中提供了完整的数据描述,并支持声明性数据获取。这意味着客户端可以请求并保留所需的数据。GraphQL公开单个端点,而不是多个端点,与REST API相比。
为什么GraphQL ?
GraphQL是一种用于api的开源数据查询和操作语言。
它越来越受欢迎是因为以下特点:
有效的数据加载由于增加移动应用
使用一个API调用获取数据的能力
比REST API更快、更灵活
服务器用精确的数据响应客户端
单端点确保更少代码管理
解决over-fetching和under-fetching
对GraphQL vs REST API的兴趣随着时间的推移
GraphQL vs . REST API用JS
GraphQL和REST API
REST api是不灵活的,这使得它很难跟上快速变化的数据需求。
GraphQL解决了许多挑战,并为开发团队创造了更高的效率。
GraphQL | REST API |
---|---|
团队并行工作以加快速度 产品开发 |
团队必须等待后端团队完成API开发开始使用它们 |
没有多次往返获取数据 | 多次往返获取数据 |
不能取得过多或过少的数据 | 响应中数据被过度获取 |
例子:应用程序需要显示用户帖子的名称和标题。该屏幕还应该显示的名称最后三个追随者。
REST API请求多个端点
在REST API响应中有其他数据,这不是必需的。
GraphQL请求单端点
使用GraphQL查询获取所需的数据单一的端点。
在这里,GraphQL查询仅提供响应所需的数据,解决了over-fetching under-fetching。
受欢迎的GraphQL测试工具
提示和技巧
GraphQL测试确保模式、查询和更改按照如下方式工作
每一个期望在前端。
- EasyGraphQL提供了像Mocha这样的库,支持使用断言测试API响应自动化测试套件中。
- QA工程师可以使用内置的“Playground”工具测试API响应,该工具还提供了表中的列数相关的表。
有建议吗?
我们很乐意听取您的反馈、问题、意见和建议。这将帮助我们使我们更好,更有用的下一次。
分享你的想法和想法knowledgecenter@qasource.com