開發web api的應該多半有聽過這套工具,寫code到一段落,通常跑起來開啟瀏覽器看一下回傳值,
依靠打開瀏覽器輸入網址只能測試get的結果,其他post, delete之類的需要另外寫測試code或者使用第三方工具來測試結果,Postman就是這樣的一套工具,提供GUI介面讓我們可簡單快速的測試Rest web API
簡化範例,只使用兩個get
[Route("api/[controller]")]
public class ProductsController : Controller
{
// GET api/products
[HttpGet]
public IEnumerable<string> Get()
{
return new string[] { "Product1", "Product2" };
}
// GET api/product/5
[HttpGet("{id}")]
public string Get(int id)
{
return $"Product{id}";
}
}
以下是簡單的操作範例,選擇對應的http method --> 填入web api位置 --> 按下send -->得到結果
其他像是post就還需要注意body跟body對應的格式,相關文章有很多,這邊就不介紹了
在下圖的紅框處可以看到使用collection來組織測試,不僅僅只是整理方便而已,collection同時還可以設定特定的環境變數共用,後面還可以使用Postman Runner跑批量的測試
設定環境變數可以利於我們重複利用已經做好的測試,舉例來說,服務位置改變。
如果我們寫在Postman的位置像是http://localhost:1234/api/....
一旦port改變我們就需要把所有的測試重新改變,利用環境變數,我們可以一次改變在collection裡面的服務位址,
我們先把位置改成{{Url}}/api/Products
接著右上角有一個齒輪的符號,開啟Manage Environments,設定Url,在右上角選擇環境為Products Service
後面不論服務位置怎麼變,我們只要更動環境變數就好
另外特別要注意的是在Postman裡:
如果有特別的request需要更動環境變數,也可以在pre-request Script裡面設定
// Set environment variable
postman.setEnvironmentVariable("ASPNETCORE_ENVIRONMENT","Production");
// Clear environment variable
postman.clearEnvironmentVariable("ASPNETCORE_ENVIRONMENT");
// Set global variable
postman.setGlobalVariable("ASPNETCORE_ENVIRONMENT","Production");
// Clear global variable
postman.clearGlobalVariable("ASPNETCORE_ENVIRONMENT");
但是要特別注意這個不是暫時性的,更動就會直接改寫環境設定了使用上要特別注意。
不知道指令怎用,旁邊還有code snippets可以參考!