原創文章轉載請注明出處:@協思,
http://zeeman.cnblogs.com
RAML是什么?
RAML是一種簡潔的RESTful API描述性語言,它基於 YAML和JSON這樣的公開標准構建。通過RAML定義,可以生成客戶端調用代碼和服務端代碼結構,創建API說明文檔。
我們知道Web Service有相應的WSDL來描述它相應的Schema,WSDL就相當於對當前的服務做了一個描述,Client端可以據此生成相應的Proxy代碼, 因此WSDL可以幫助Client更容易的消費服務。
對於RESTful API,卻沒有相應的“REST WSDL”,在這種情況下,RAML應運而生,它可以對我們的API做完整的描述,不管是對人或者是機器,都能以相對友好的方式使用。
RAML能幫助我們做什么?
RAML可以幫助你組織:
1.基本信息。描述RESTful API的關鍵點,比如名字、標題、路徑等。
2.用戶文檔。描述技術支持性文檔幫助用戶更方便的消費API,通過文檔生成器創建PDF或者HTML。
3.資源。描述如何規范RESTful資源,資源的方法和Schema,以及資源之間的交互。
怎樣使用RAML設計API?
目前已經支持關鍵字自動提示,自動完成,語法錯誤檢測,實時預覽,功能相對完善,程序員使用起來很容易上手。
RAML設計器和解析器都是github的開源項目,我們可以將他們集成到自己的產品中。
前文看到的文檔就是利用RAML解析器生成的,它是一個壓縮后大約240k的Javascript文件,可以加載到瀏覽器或者Node.js中運行,利用解析器可以Load指定的RAML文件生成HTML文檔。
RAML相關的工具和資源在哪里?
官方網站:http://raml.org
規范文檔:http://raml.org/spec.html
設計器:https://github.com/mulesoft/api-designer
解析器:https://github.com/raml-org/raml-js-parser