有時候API回的結果不如預期,或是資料太多很難確認其正確性,這時候需要有其他的資訊能夠幫助我們去定位問題。Postman Console
就提供了這樣的功能,在Postman Console
的介面裡,我們能夠看到關於已發送請求的相關資訊,包含了標頭、變數、憑證以及網路資訊等等,今天的挑戰內容也會體驗到如何利用這項功能。
在開始之前,請別忘了將今天的挑戰 Day 7: Debugging 先行fork
到自己的工作區喔。
回到自己的工作區後,打開今天的資料夾Debugging按照右方文件來進行以下步驟
新增請求: 在資料夾Debugging內透過Add request
來新增一個請求,並命名為apod
設定請求: 設定GET
以及URL為https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY&count=10
,這是NASA的API`,可以看到帶了兩個參數。
打開Postman Console
: 位置在postman的左下方,或是透過Ctrl+Alt+C
,打開獨立的視窗
在這邊可以看到送出的請求資訊,包含了Network、Request Headers等等資訊
加入log: 在Tests
分頁下不只可以定義測試項目,也可以在這邊透過console.log
等函式將偵錯訊息輸出到Postman Console裡
像這段程式碼
let pics = pm.response.json()
pics.forEach((pic) => { console.log(pic.title, pic.url) })
作用就是將API回傳的response以json的形式去遍歷裡面每一個成員,然後將感興趣的部分如pic.title用console.log給輸出到Postman Console,如下圖紅框所圈處就是輸出結果,這種方式可以過濾出少量關注的訊息,不用被大量的雜訊給淹沒
除了console.log
之外,也可以考慮用其他函式,將紀錄用不同的級別區別開來
console.log("log")
console.info("info")
console.warn("warn")
console.error("error")
這四行的輸出如下,能看到四種輸出方式會有不同的顯示方式,所以針對比較重要的資訊,可以根據需求來選用
操作步驟到這邊,就可以submit
來通過今天的挑戰了,測項如果都是pass就表示完成囉
今天大概介紹了關於Postman Console
的用途,不過有時候不用自己主動輸出資訊就能提供一些幫助了,例如有時候因為網路連線的關係,在請求到達伺服器前就已經確定失敗,Postman
發不出請求也能在Console裡輸出錯誤的原因。其他常見的場景可以參考以下連結
那麼,今天就先到這邊,我們明天再見