Postman 功能 - Generate Code Snippet

因為這一年來主要都是在開發 ASP.NET Web Api 專案,Client 端的開發測試工具是使用「Postman」,而我也並非第一次在專案開發裡使用,在這幾年的開發裡都有使用到,只不過這次的角色從介接使用別人所開發的 Web Api 變成開發別人要使用的 Web Api,其實不管哪一種角色,使用這類的工具如何可以更加地瞭解如何應用,那麼就會省下很多很多的時間,而這一篇所要講的就是 Postman 所提供的一個功能「Generate Code Snippet」。


Postman

http://www.getpostman.com

記得喔,在「Chrome 線上應用程式商店」裡要選擇安裝的是下圖所顯示的「Postman」喔

Postman 有哪些功能以及怎麼使用,就要請各位直接去查看文件。

http://www.getpostman.com/docs/

 

Generate code snippet

要介紹的是這個功能「Generate code snippet」,我是在上一次 Postman 改版後才發現到這個功能(好像是在 Postman v3.0 才提供的),而我也不清楚這功能在之前是否已經提供,不過這不是重點,因為我也發現有蠻多人並不知道有這個功能。

而這個「Generate code snippet」有什麼作用呢?其實就如同名稱一樣,是一個產生程式碼片段的功能,而產生的程式碼還有提供不同程式語言的版本。

而其中有一個項目就是可以選擇產生 C# 的程式碼片段,而且是使用 RestSharp 這個套件,看看選擇使用「C# (RestSharp)」這個項目所產生的程式碼片段,

而這個產生出來的程式碼片段是真的可以執行的,不過你要將程式碼給複製起來,然後貼到專案裡去執行,不過我通常不會直接打開 Visual Studio 或是將程式碼直接貼到已開啟在 Visual Studio 內的專案裡面,而是會先開啟 LINQPad,然後將程式碼貼上之後去執行,

上面的圖片裡可以看到幾個地方是鮮紅色的字樣,這是因為還沒有加入 RestSharp 套件,如果你有購買 LINQPad Developer or Premium 付費版授權就可以透過 LINQPad 的 NuGet 功能安裝 RestSharp 套件(Free 與 Pro 版本是沒有支援這個功能的),

最後再補上把取得的 response 內容給顯示出來的程式碼,

按下執行就可以得到結果

 

Generate code snippet 這個功能有什麼好處呢?

雖然說要在程式裡去寫出使用 Web Api 的程式碼片段並不是難事,但如果對一個 Api 的呼叫使用是比較複雜的時候,例如輸入的參數很多而且又需要在 Header 加入一些資料時,其實寫這些程式碼還有點繁瑣,而且還要考慮到是使用 HttpWebRequest 還是使用 HttpClient。

老實說,HttpWebRequest 並不好用,然後 HttpClient 只有在 .NET Framework 4.5 以上才有支援,如果只是寫 Web Api 服務給別人用,倒也不會有什麼影響,但如果你是要寫成 Library 給別人使用的時候,就必須要考慮到別人所開發的專案是否也是使用 .NET Framework 4.5,但如果真的要顧及到這一點的話,就是要考慮到不管什麼樣的版本(至少 .NET Framework 3.5 以上)都要可以使用。

前面也說過,HttpWebRequest 並不好用,而 Postman 的 Generate code snippet 所產出的 C# 程式碼片段是使用了 RestSharp 這個套件,也讓我好好的去認識 RestSharp,原來 RestSharp 的基礎還是使用 HttpWebRequest,不過是做了很多的包裝,讓整個使用與操作變得更為容易與好用,也因為這樣的緣故,所以我與我的同事在開發時都改用了 RestSharp。

另外經由 Postman 的 Generate code scippet 所產生出來的程式碼都是可以執行的,拿到專案裡只需要稍做修改就可以直接用,另外就是我通常都是用在整合測試裡面,因為程式碼都是經由可正常執行的 Api 呼叫所產生的,所以我只要將部分程式做點修改就可以用,這大大地減少了許多開發上的時間。


這是個小功能,但卻能給開發工程師帶來很大的效益,也讓我發現了 RestSharp 這個好用的套件,讓我們可以簡化呼叫使用 Restful 服務的程序與步驟。

對了 Github for Windows 這個 Github 官方所發佈的 Windows 版管理工具,裡面就有用到 RestSharp 喔。

 

RestSharp

http://restsharp.org/

https://github.com/restsharp/RestSharp

https://github.com/restsharp/RestSharp/wiki/Projects-Using-RestSharp

http://stackoverflow.com/questions/tagged/restsharp

How To Consume a WebAPI with RestSharp -- Visual Studio Magazine

 

相關連結

http://www.getpostman.com
http://www.getpostman.com/docs/

 

以上

分享