之前筆者在 RAML - RESTful API Modeling Language - Level Up 這篇介紹過的 RAML,近期推出了 RAML Tools for .NET,是一 Visual Studio 的擴充套件,可輔助我們用 RAML 開發 Client 與 Server 端的程式。

使用前需先透過 Extensions and Updates 功能安裝 RAML Tools for .NET 這擴充套件。

{% img /images/posts/GenerateClientFromRAML/1.png %}

安裝完後要輔助開發 Client 端程式的話,我們只要透過方案總管在專案的 Reference 上按下滑鼠右鍵,選取 Add RAML Reference... 選單選項。

{% img /images/posts/GenerateClientFromRAML/2.png %}

Add RAML Reference 視窗即會跳出,這邊可透過網址或是檔案的方式來指定 RAML 檔案。

{% img /images/posts/GenerateClientFromRAML/3.png %}

這邊筆者用 Twitter 的 RAML 來做個示範,複製其 RAML 的網址。

{% img /images/posts/GenerateClientFromRAML/4.png %}

貼到 Add RAML Reference 視窗內的輸入框,按下 GO 按鈕,RAML Tools for .NET 會進行下載並解析,解析後會秀出可以使用的 Resources,下方也會幫我們帶出存放在專案時要使用的檔名以及命名空間。沒什麼問題的話按下 OK 繼續即可。

{% img /images/posts/GenerateClientFromRAML/5.png %}

接著 RAML Tools for .NET 會幫我們將 RAML 檔依剛帶的設定加入專案中,會放在 API References 的目錄之內,也會透過 NuGet 加入一些必要的套件。

{% img /images/posts/GenerateClientFromRAML/6.png %}

RAML 檔下面也可以看到該擴充套件會幫我們產生好對應的強型別類型。

{% img /images/posts/GenerateClientFromRAML/7.png %}

跟本來的 RAML 定義是一致的,開發 Client 端程式時直接叫用即可,不用在依 Spec 下去串 API。

{% img /images/posts/GenerateClientFromRAML/8.png %}

最後一提,後續 RAML 若有變更,RAML Tools for .NET 也可以讓我們隨時更新,只要在 RAML 上面按下滑鼠右鍵,就會看到更新的選單選項。