一位讀者問我們是否有關于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.uj5u.com/qita/237013.html
標籤:其他
上一篇:API檔案之團隊協作
