介绍GraphQL API——历史预览
3.7(74.29%) 14投票[s]

应用程序编程接口,通常称为API,是一组函数,允许下游应用程序功能访问黑盒业务应用程序的特性或数据。在当今计算机应用时代,API具有丰富的可用性,是业务战略的基石;然而,API的开始包括与代码的文档和实现相关的混乱方法,以及高度的代码复杂性。最初,中间件的概念,例如CORBA和RPC,一些互操作性的能力产生了API框架,如肥皂。

简单对象访问协议(Simple Object Access Protocol, SOAP)被宣传为能够实现完全互操作性的简单通用API框架。如果属实,这可以解决先前提出的中间件解决方案所面临的许多问题。SOAP确实为客户机-服务器应用程序模型中更好的互操作性铺平了道路;然而,它远不是一般用途的,也不是直截了当的。SOAP是基于XML的,很难编写代码,而且事实证明第三方很难理解和与之交互。除此之外,SOAP api在服务器资源管理方面效率不高。

2000,Roy Fielding在他的博士论文中提出了REST API的概念。基于他最初的建议以及对开发者社区的投入,以下是与REST API相关的基本概念:

  • 统一的接口:HTTP谓词的使用(GET,说,篇文章,使用uri作为资源的DELETE)应该用于具有状态和主体的HTTP响应。
  • 无状态:请求是自描述的,目的是让服务器清晰地处理该消息。
  • 客户端服务器:调用者(客户机)和被调用者(服务器)应用程序之间需要有明显的区别。

REST api在某种程度上简单且易于实现,而且高效且可互操作。除此之外,RESTAPI是当前所有云提供商特别是Amazon支持的。

虽然很有用,由于业务应用程序的性质发生了变化,其余的API也有一些不足之处。在许多其他问题中,其余API中最大、最核心的是实时应用程序,例如股票交易/销售应用程序。这为一种名为GraphQL的新型api铺平了道路。

graphql是用于API和运行时的查询语言,用于使用现有数据完成这些查询。除此之外,graphql提供了API中数据的完整和可理解的描述,让客户有权提出他们真正需要的东西,仅此而已,让api随着时间的推移更容易进化,并启用强大的开发人员工具。为进一步了解,在标准的REST API中,端点是被调用对象的标识,该对象的形状,大小由服务器决定。另一方面,在图QL中,标识与端点分离,服务器声明可用资源,而客户端请求什么是必需的。此外,重要的是,GraphQL API框架是由Amazon Web Services (AWS)实现的。在关于graphqlAPI的这一系列文章中,我们将探讨AWS实现与实时数据应用程序相关的API,比如证券交易所和聊天应用。

最后,在这篇文章中,我们简要回顾了过去的技术,这些技术在当前REST api范式的开发中发挥了重要作用。除此之外,前面的技术的问题以及它们与其他API的不同之处也会涉及到。最后,我们介绍了新的GraphQL api以及这两个框架之间的重要区别。

类别:
亚马逊网络服务WebAPI

留下答复

留下答复

订阅
通知
跟着我们!

Kloud解决方案博客-关注我们!