當前,作為大部分移動app和云服務后臺之間的標準連接方式,REST API已經得到了絕大部分開發(fā)者的認可和廣泛的應用。近年來,在新興API經濟模式逐漸興起,許多廠商紛紛將自己的后臺業(yè)務能力作為REST API開放出來,給更廣泛的第三方開發(fā)者使用。

 

但是,管理REST API并非是一件容易的工作。由于缺乏有效的接口數據schema約束,加上設計REST API時resource endpoint的安排,以及發(fā)送http請求的方式又都五花八門,REST API開發(fā)完成后,大多數情況下API開發(fā)者仍然需要手動書寫API文檔,讓用戶能按照文檔的說明接入。并且在API發(fā)生變化時需要重寫文檔,這個過程費時費力而且容易出錯。比如,一個REST API文檔最少必須列明以下的基本信息:

 

* API的名稱

* API所在的URL資源路徑

* http請求方法(GET, POST, PUT等)

* API提交數據的方式(查詢參數、表單提交、JSON提交等)

* 調用API返回數據的格式

 

在上面提供的REST API信息中,從API返回的JSON數據在大部分情況下甚至只能用“舉例”的方法說明數據的結構,而無法精確表達出這段JSON數據中每個字段的精確含義和類型定義。這都是因為REST API缺少對JSON數據的schema定義而