首頁 > 科技週邊 > IT業界 > API建築和測試使Postman變得更加容易

API建築和測試使Postman變得更加容易

Lisa Kudrow
發布: 2025-02-19 11:25:11
原創
1037 人瀏覽過

Postman:簡化API開發和測試的強大工具

要點:

  • Postman是一款強大的工具,簡化了API開發和測試流程,提供保存以往API調用和將相關API調用分組等功能,方便快捷。
  • API(應用程序編程接口)通常使用REST(表述性狀態轉移)框架創建,該框架為基於Web的API設置了指南。通過API執行的四個最常見的操作是查看、創建、編輯和刪除對象。
  • API測試是開發過程中至關重要的一部分,用於確保功能、異常處理和安全性。這可以通過使用cURL庫的命令行來完成,但像Postman這樣的工具可以使此過程更容易。
  • Postman可用於向API(如Facebook Graph API)發送請求,允許開發人員查看帖子、點贊帖子、創建帖子和刪除帖子等操作。此工具對於使用API的開發人員來說可能是一項寶貴的資產。

感謝Jeff Smith的幫助,他熱心參與了本文的同行評審。


SitePoint網站今日熱門文章:

  • 什麼是HTTP/2?
  • 使用這三種CSS方法來馴服難以駕馭的樣式表
  • 您的常規WordPress維護清單
  • 共享服務器託管:優缺點
  • 為什麼每個網站都需要HTTPS

API Building and Testing Made Easier with Postman

API(應用程序編程接口)是應用程序之間交互的媒介。使用HTTP或HTTPS的API稱為Web API。

如果您環顧互聯網,就會發現大量服務使用API。任何具有社交登錄的服務都使用API;電子商務網站的移動應用程序使用API;甚至您在互聯網上看到的廣告也使用API!

通過為您的服務創建API,您可以使第三方開發人員能夠基於您的服務創建應用程序。例如,社交新聞網站Frrole使用Twitter API通過分析大量推文來生成上下文洞察。

假設您已經評估了創建API的優缺點,那麼讓我們簡要討論一下創建和測試API的過程。

創建API

雖然創建API的方法有很多,但Web API是使用REST(表述性狀態轉移)框架創建的。 REST框架規定了一組在創建API時必須遵循的準則。由於每天創建的API數量眾多,它成為基於Web的API的標準。

通過API執行的四個最常見的操作是查看、創建、編輯和刪除對象。 REST框架將四個HTTP動詞映射到這些操作:GET、POST、PUT和DELETE。此列表中添加了許多動詞,例如PURGE和PATCH,但在本文中,我們將只討論四個基本動詞。 Enchant.com創始人Vinay Sahni撰寫的關於務實RESTful API最佳實踐的文章可能對首次開發人員很有用。

如今,許多框架都提供了對基本HTTP層的包裝器,從而使您的開發工作更加輕鬆。您只需調用所需的命令或函數並專注於功能即可。流行的示例包括Slim和Toro,這兩個基於PHP的微型框架可以幫助您快速創建REST API。

通過CLI測試API

創建API的主要目的是使其他應用程序(可能是您自己的或由第三方開發的)能夠使用這些服務。因此,在API開發過程的每個階段,至關重要的一步是測試API的功能、異常處理和安全性。

使用API涉及使用其中一個動詞(或方法)向所需資源(通常是URL)發出請求。根據您使用的API的要求,您可能需要添加標頭。請求此類資源的一種方法是通過命令行。

在這篇文章中,我們將重點關注API調用的四個部分——URL、HTTP動詞、標頭和參數。我們將使用cURL庫通過CLI向API資源發送請求。 cURL是一個命令行工具,它有助於使用URL語法傳輸數據——支持FTP、FTPS、HTTP、HTTPS。

讓我們來看一下以下命令:

<code>curl -i -X POST -H 
    "Content-Type:application/json" 
    http://www.my-api-example.com:port/ -d 
    '{"Name":"Something"}'</code>
登入後複製
登入後複製
登入後複製

-i命令代表include,它告訴命令請求中存在標頭。 -X選項緊跟HTTP動詞或方法。 -H指定添加到請求的自定義標頭。最後,-d選項指定要與請求一起傳遞的自定義表單數據。

API調用的結果是HTTP響應,通常以JSON格式編碼。響應與HTTP響應代碼一起提供,該代碼提供有關請求狀態的信息(例如,200表示OK,404表示資源不存在,500表示服務器錯誤,403表示資源被禁止)。例如,以下響應可以作為對先前請求的結果發送,以及200狀態代碼:

<code>{"message":"success","id":"4"}</code>
登入後複製
登入後複製
登入後複製

在命令行內測試此類響應也構成挑戰,尤其是在響應具有大量選項的情況下。

Codingpedia的這篇詳細指南列出了測試API時的CLI選項列表。

使用Postman簡化測試

Postman是一個具有強大功能的API開發套件,可以使API開發過程快速而輕鬆。它可以作為Chrome擴展程序和Mac、Windows和Linux的原生應用程序使用。一百多萬開發人員已經嘗試過它。要安裝Chrome擴展程序,您需要首先安裝Chrome,然後轉到Chrome網上應用店的項目頁面。

讓我們首先了解如何通過Postman模擬我們之前的CLI請求。以下圖像顯示了在Postman中創建API調用,其中包含上面討論的所有四個部分:

API Building and Testing Made Easier with Postman

API Building and Testing Made Easier with Postman

除了預覽(如果響應為HTML)之外,您通過請求收到的響應也可以以原始或漂亮的形式查看。下圖顯示了在Postman中查看響應的不同方法:

API Building and Testing Made Easier with Postman

Postman會自動保存您過去進行的API調用,這在測試API時可以節省時間。此外,它們可以分組到相關的API調用中,以方便您使用。以下是通過Postman進行的API調用歷史記錄示例:

API Building and Testing Made Easier with Postman

通過Postman使用Facebook Graph API

演示Postman工作原理的一個好方法是通過Facebook Graph API。在這篇文章中,我們將重點關注用戶時間軸上的帖子,如何查看帖子的詳細信息,以及如何創建和刪除帖子。

在使用Graph API時,訪問令牌至關重要。令牌與許多權限相關聯。例如,只有在生成令牌時publish_actions是所選字段之一時,您才能使用令牌創建帖子。這種額外的安全級別可以幫助您在通過Facebook登錄時向給定應用程序授予特定操作。

查看帖子

要向Graph API發送請求,您需要生成訪問令牌。生成令牌後,您應向以下URL發送GET請求,並將access_token作為參數:

<code>curl -i -X POST -H 
    "Content-Type:application/json" 
    http://www.my-api-example.com:port/ -d 
    '{"Name":"Something"}'</code>
登入後複製
登入後複製
登入後複製

下圖顯示了帶有您詳細信息的基本Graph API調用:

API Building and Testing Made Easier with Postman

您可以通過以下命令檢查您時間軸上的帖子列表:

<code>{"message":"success","id":"4"}</code>
登入後複製
登入後複製
登入後複製

以下是您時間軸上的帖子列表的詳細信息可能顯示的方式:

API Building and Testing Made Easier with Postman

要查看單個帖子的詳細信息,請使用以下資源:

<code>GET /me/</code>
登入後複製
登入後複製

單個帖子的詳細信息如下所示:

API Building and Testing Made Easier with Postman

點贊

要點贊,只需向以下URL發送POST請求(請注意,點贊需要publish_actions):

<code>GET /me/feed/</code>
登入後複製

通過Postman發送點贊請求如下所示:

API Building and Testing Made Easier with Postman

同樣,您可以通過向同一URL發送DELETE請求來刪除點贊:

<code>GET /post-id/</code>
登入後複製

創建帖子

要創建帖子,您需要除了POST請求之外還要發送一些參數。您也需要publish_actions才能執行此操作。

您可以將以下選項添加到您的POST請求中:

  • message:與帖子關聯的消息
  • link:指向外部資源的鏈接
  • place:與帖子關聯的位置(類似於“簽到”某個位置)
  • tags:任何朋友或頁面
  • privacy:帖子可見的受眾
  • object_attachment:任何現有的Facebook帖子

文檔解釋了所有這些功能的使用方法。

您可以根據您選擇發送請求的URL,在您自己的時間軸或用戶、頁面、事件或群組的時間軸上創建帖子:

<code>curl -i -X POST -H 
    "Content-Type:application/json" 
    http://www.my-api-example.com:port/ -d 
    '{"Name":"Something"}'</code>
登入後複製
登入後複製
登入後複製

讓我們嘗試發佈到我們自己的時間軸。如果請求成功,我們將獲得已創建帖子的ID。以下是使用Graph API創建新帖子的示例:

API Building and Testing Made Easier with Postman

要編輯帖子,您需要向以下URL發送POST請求(而不是PUT),並使用與創建帖子相同的參數:

<code>{"message":"success","id":"4"}</code>
登入後複製
登入後複製
登入後複製

刪除帖子

就像刪除點贊一樣,刪除帖子需要您向帖子URL發送DELETE請求:

<code>GET /me/</code>
登入後複製
登入後複製

API Building and Testing Made Easier with Postman

注意:我們在本文中看到Postman有很多有用的功能。升級免費版本後(單個許可證9.99美元),還有更多功能——例如在多個數據值上運行API集合。

結論

創建API是一項至關重要的任務,其中涉及許多重要的步驟。 Postman使徹底測試的過程更加容易。目前,Postman似乎很好地解決了普通開發人員的問題。但是,它如何隨著Web行業中常見的範式轉變而發展還有待觀察。

我們是否錯過了Postman的重要功能?您是否使用其他客戶端來測試API?請在下面的評論中告訴我們。

關於使用Postman構建和測試API的常見問題

什麼是Postman,它如何幫助構建和測試API?

Postman是開發人員用於構建和測試API的流行工具。它提供了一個用戶友好的界面,可以輕鬆發送HTTP請求和查看響應。 Postman支持各種類型的HTTP請求,例如GET、POST、DELETE、PUT等等。它還允許您保存請求並將它們組織到集合中,以便輕鬆訪問和共享。 Postman內置的測試功能允許您直接在工具本身中為您的API編寫測試,使其成為API開發的綜合解決方案。

Postman是否免費使用?

Postman提供免費版和付費版。免費版本,稱為Postman Basic,提供了一套強大的功能,足以滿足個人開發人員或小型團隊的需求。對於需要高級功能和協作能力的大型團隊或企業,Postman提供付費計劃。

Postman Pro與基本版本有何不同?

Postman Pro是一個付費版本,提供基本版本中沒有的附加功能。這些包括團隊協作、API監控、高級API文檔等等。它專為需要管理複雜API開發項目的專業開發人員和團隊而設計。

如何購買Postman?

您可以從他們的官方網站購買Postman。他們根據您的團隊規模和特定需求提供不同的定價計劃。您可以選擇適合您需求的計劃,然後按照提示完成購買。

Postman在軟件開發中的作用是什麼?

在軟件開發中,Postman在API開發和測試中發揮著至關重要的作用。它允許開發人員在一個平台上構建、測試和記錄API,從而簡化開發過程。它還支持協作,使團隊更容易一起處理API項目。

我可以使用Postman進行自動化測試嗎?

是的,Postman支持自動化測試。您可以在Postman中為您的API編寫測試,並使用Postman的Collection Runner或Newman(Postman的命令行工具)自動運行它們。這使得將API測試集成到您的持續集成/持續交付(CI/CD)管道中變得更容易。

如何在Postman中組織我的API請求?

Postman允許您將API請求組織到集合中。集合是一組可以一起保存的相關請求。這使得管理和共享您的請求變得更容易。您還可以向集合中添加文件夾以進行進一步的組織。

Postman是否支持不同類型的身份驗證?

是的,Postman支持各種身份驗證類型,包括Basic Auth、Bearer Token、OAuth 1.0、OAuth 2.0等等。這使其成為測試具有不同身份驗證要求的API的多功能工具。

我可以與他人共享我的Postman集合嗎?

是的,Postman允許您與他人共享您的集合。這對於團隊協作特別有用。如果您使用的是付費版本,則可以通過將其導出為JSON文件或直接從Postman共享來共享集合。

如何有效地學習使用Postman?

有很多資源可以學習Postman。 Postman官方網站提供全面的文檔和教程。還有許多在線課程、博客和論壇,您可以在其中學習其他Postman用戶的經驗。

以上是API建築和測試使Postman變得更加容易的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板