iT邦幫忙

2022 iThome 鐵人賽

DAY 13
0

今日主題

今天的主題是Postman API,在 Day4 授權 中有簡單提到,透過官方提供的API,能夠做到像是新增Collection更新環境變數等前面所介紹過的功能,並不需要桌面版或是網頁版的Postman應用程式提供的介面就能達到,非常便於CI/CD的整合。

與其用文字來描述Postman API的功能,不如直接將整個Collection給複製回自己的工作區來看看,到這裡找到Postman API這個Collection選擇fork就可以囉。

整個Collection分成好幾個資料夾,以資源類型來進行分類,以第一個資料夾Collection為例,基本上都會包含其CRUD增查改刪等幾個API:
Collections

  • POST Create a collection
  • GET Get a collection
  • PUT Update a collection
  • DELETE Delete a collection

另外,使用Postman API有幾個小須知

  • 必須要有API Key:
    因為是要存取使用者相關的資料,所以必須透過key來確認權限。key的產生可以參考 Day4 授權
  • API 有 rate limit:
    每分鐘可以允許300次的請求呼叫,而每次呼叫API後會在回應的Header裡帶有下列資訊
    • X-RateLimit-Limit: 允許每分鐘可發出的最大請求數
    • X-RateLimit-Remaining: 還剩多少次
    • X-RateLimit-Reset: 一個代表時間的數值,時間到將重置限制
  • 只能透過HTTPS
  • API的回應都是json格式

在開始今天的挑戰之前,請別忘了將 Day 12: Postman API 先行fork到自己的工作區喔。

回到自己的工作區後,打開今天的資料夾Postman API,根據右邊的文件提示來操作。不過今天操作的流程與其說是挑戰,不如說是體驗Postman API,文件裡提到了三個GET的請求,以其中的get single environment
來舉例,透過GET https://api.getpostman.com/environments/{{environmentId}}這個API,可以取的指定ID的資源,取出的內容格式是json,有關於該環境所設定的變數當前的狀況,摘錄如下:

{
    "environment": {
        "id": "ba83e6f5-9ce0-4439-864e-653da0c5c9e3",
        "name": "Postman API env",
        "owner": "3172240",
        "createdAt": "2022-09-27T16:09:32.000Z",
        "updatedAt": "2022-09-27T16:21:07.000Z",
        "values": [
            {
                "key": "collectionId",
                "value": "3172240-517c4c69-179c-41e9-82c1-48cd84f648ef",
                "enabled": true
            },
        ...
        ],
    ...
}

回應的標頭裡面也有重要的資訊,就是前面提到的rate limits

X-RateLimit-Limit: 300
X-RateLimit-Remaining: 298
X-RateLimit-Reset: 1664375599

其他GET請求也是差不多,就是取出相對應的資料,而如果是使用DELETE類型的API,就會是把指定的該筆資料刪除了。今天的挑戰在設定完三個請求後,就可以嘗試submit了,由於今天沒有特別需要說明的步驟,都是利用前面章節提過的操作就能夠完成,所以就不贅述細節了。需要特別提的是,今天submit用的變數名稱跟文件要求使用的變數名有點不一樣,手動修改後就能夠完成今天的挑戰了。

今日回顧

今天大致瀏覽了Postman API可能有的功能,一大半是前面章節提過的功能,之後可以透過外部呼叫的方式來進行,就不需要都總是透過圖形介面來進行操作,而有些進階的功能像是Webhook等等前面ˋ沒介紹的,會放到之後的章節來進行介紹,目前只要知道Postman API有這些功能即可。

參考資料

那麼今天就到這邊,我們明天見~


上一篇
Postman challenge Day 11 - 監控 (Monitoring)
下一篇
Postman challenge Day 13 - Newman
系列文
[POSTMAN] 該知道的都知道,不知道的慢慢了解 - 與波斯麵三十天的感情培養32
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言