标签:多个 方法 可读性 事件驱动 反序 数据模型 客户端 了解 服务器的响应
一位读者问我们是否有关于JSON与XML的API支持的最新数据。我们没有现成的数据,但是快速查询我们的API目录可以让我们深入了解这个问题。同时这些数据还可以为我们提供一些帮助,了解不同api开发格式的使用频率。
我们先是整理了自2005年ProgrammableWeb网站启动以来所有api中最常见的请求和响应格式。
最明显的发现是REST格式api的主导地位。作为请求格式的URI查询字符串/CRUD,是指API利用HTTP协议对API资源执行操作的能力。这在REST格式的api中最常见,因此在请求中使用URI查询字符串/CRUD标志着RESTful架构的使用。因为18985个webapi使用这种请求格式,所以可以这么说,REST格式在网站目录中有将近83%的api使用。这不是一件奇怪的事,但是这也明确地告诉我们,在过去的十多年里,REST是多么泛用。
当我们提到URI查询字符串/CRUD时,你可能会注意到它作为响应数据格式出现了200多次,其中大部分是由于使用web hook事件驱动的api。在Web hooks API中,客户机请求显示它想要支持的基于Webhooks的流。
流是通过一种方法实现的、客户机提供服务器调用的基于HTTP的API。当服务器有更新时,它会对客户端进行RESTful调用。这就是为什么来自服务器的响应将包含URI查询字符串作为数据格式。
第二个值得注意的结果是,正如预期的那样,JSON是使用中最流行的响应数据格式。JSON相对于XML的优势,包括更轻的有效负载、更高的可读性、减少序列化/反序列化的机器开销、更容易被JavaScript使用等,这些已经讨论了很多年。因此JSON是首选格式也就不足为奇了。但有趣的是,XML的使用频率是JSON的90%。
这些历史数据有助于从整体上理解api,对思考近年来api的发展趋势可能会很有用。
接着查询了2018年3月到2020年3月的数据库,看看现在API能告诉我们什么?
回到JSON与XML的对比问题上,我们看到在过去两年中,JSON作为响应数据格式的使用次数是XML的五倍。到目前为止,XML依然是API提供者使用的第二大响应格式,JSON也依然是首选的格式。
REST架构样式和JSON数据格式是API空间的主要元素,当然它们也不是构建API的唯一方法。由于对实时执行的应用程序的需求,事件驱动API体系结构在过去几年中一直在稳步增长。两个最流行的事件驱动协议是webhook和WebSockets;在过去的两年中,它们被应用于近200个api中。
GraphQL是一种RPC风格的api方法,自2015年问世以来,人们对它进行了大量讨论。
一些狂热的评论家很快就宣布GraphQL将取代REST,它被认为是一种在特定用例中非常有效的替代方法。在过去的两年中,它已经在53个api中使用,这是一个不错的现象,但与同期出现的3000多个新的restfulapi相比,显然显得微不足道。
接着说到旧的保守方法,SOAP仍然成功地出现在68个新API中。这里的一个细微差别是基于SOAP的实现总是涉及XML数据格式。但是并非所有基于XML的api都涉及SOAP,很多REST风格的api都支持XML作为数据格式。
最后一点要注意的是,Unspecified在请求和响应中显示为第三种最常见的数据格式。网站的目录数据模型使用Unspecified作为API提供者不提供此信息的简写。这可能是由于文档不好,或者通常情况下,文档隐藏在注册流程后面,阻止我们了解这些细节。这是最常见的开发人员经验不足的例子之一。
翻译:Eolinker
来源:www.eolinker.com
标签:多个 方法 可读性 事件驱动 反序 数据模型 客户端 了解 服务器的响应
原文地址:https://www.cnblogs.com/dc20181010/p/14156291.html