2020年3月2日 星期一

使用Postman 工具測試幾個POST情境

開發Webapi 必備的Postman 工具,真的是一個神兵利器,大大提升效率。有時候同事會來請教,自己有時也會失智,就來整理紀錄一下幾個情境,方便日後查找。





參考官網,可下載單機版使用,相關基本操作網路文章滿多的,再自行搜尋參考瞜。


第一種:基本的表單上傳(先備註一下我這邊走的路由風格是 mvc 風格)

簡單設計 api 如下,就是取得 post 過來的參數 name,並期望取得後直接印出











這時postman需要這樣設定,點選 body 並且選取 form-data











接著 headers 加入 context-type,並設定為 multipart/form-data(因為表單設計時都會將 enctype 如此設定),同時輸入參數 name ,這邊小提醒,輸入欄位有 支援 autocomplate













點選送出後,可檢視結果,正確輸出 asp.net mvc













延續第一種,其實通常會夾帶上傳檔案,一般 html 會這樣設計


















若透過 postman 可以直接這樣設定,直接在 body 加入一個file 參數,並且選取檔案















這時程式調整一下

 
選好了檔案也調整好了程式,就可以送出了

 第二種:FromBody 形式

這個挺特別的,若 api 宣告參數是 fromboay 形式,那參數的型態就必須是自訂型別,如下
 
這種類型,Postman headers  的 context-type 就只能是application/x-www-form-urlencoded

那Postman body 需要選取 x-www-form-urlencoded,然後輸入 keyvalue 值,它會自動對應 binded 到參數的屬性上

另外,若直接想要針對上傳檔案測試,其實還可以使用binary 這個設定同樣設定上傳檔案的程式碼,比較特別的是,因為是上傳單一檔案,所以接收時需要讀取串流,並將其寫成檔案
延伸,若有需要動態判斷type 可參考這篇

再來設定 body,選取binary 並選取檔案,接著送出,發現怎麼出錯了

仔細一看,檔案上傳的地方有個小驚嘆號,點選驚嘆號有出現說明名字,意思是說你的檔案不是在設定的工作區目錄...

google了一下,參考這篇,看一下預設的目錄在哪裡?

重新將檔案放到該目錄下,並且選取檔案後,再次常是送出,成功


第三種:直接繫結物件參數(也是較常使用的)

程式可以這樣設計

此時Postman 的body 需要選取 raw 並且設定資料格式為 json,並輸入對應的值,此時 headers 會自動帶出 application/json



接著送出查詢,會得到以下結果

 


沒有留言:

張貼留言