Postman:簡化API開發和測試的強大工具
要點:
感謝Jeff Smith的幫助,他熱心參與了本文的同行評審。
SitePoint網站今日熱門文章:
API(應用程序編程接口)是應用程序之間交互的媒介。使用HTTP或HTTPS的API稱為Web API。
如果您環顧互聯網,就會發現大量服務使用API。任何具有社交登錄的服務都使用API;電子商務網站的移動應用程序使用API;甚至您在互聯網上看到的廣告也使用API!
通過為您的服務創建API,您可以使第三方開發人員能夠基於您的服務創建應用程序。例如,社交新聞網站Frrole使用Twitter 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。
創建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是一個具有強大功能的API開發套件,可以使API開發過程快速而輕鬆。它可以作為Chrome擴展程序和Mac、Windows和Linux的原生應用程序使用。一百多萬開發人員已經嘗試過它。要安裝Chrome擴展程序,您需要首先安裝Chrome,然後轉到Chrome網上應用店的項目頁面。
讓我們首先了解如何通過Postman模擬我們之前的CLI請求。以下圖像顯示了在Postman中創建API調用,其中包含上面討論的所有四個部分:
除了預覽(如果響應為HTML)之外,您通過請求收到的響應也可以以原始或漂亮的形式查看。下圖顯示了在Postman中查看響應的不同方法:
Postman會自動保存您過去進行的API調用,這在測試API時可以節省時間。此外,它們可以分組到相關的API調用中,以方便您使用。以下是通過Postman進行的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調用:
您可以通過以下命令檢查您時間軸上的帖子列表:
<code>{"message":"success","id":"4"}</code>
以下是您時間軸上的帖子列表的詳細信息可能顯示的方式:
要查看單個帖子的詳細信息,請使用以下資源:
<code>GET /me/</code>
單個帖子的詳細信息如下所示:
要點贊,只需向以下URL發送POST請求(請注意,點贊需要publish_actions):
<code>GET /me/feed/</code>
通過Postman發送點贊請求如下所示:
同樣,您可以通過向同一URL發送DELETE請求來刪除點贊:
<code>GET /post-id/</code>
要創建帖子,您需要除了POST請求之外還要發送一些參數。您也需要publish_actions才能執行此操作。
您可以將以下選項添加到您的POST請求中:
文檔解釋了所有這些功能的使用方法。
您可以根據您選擇發送請求的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創建新帖子的示例:
要編輯帖子,您需要向以下URL發送POST請求(而不是PUT),並使用與創建帖子相同的參數:
<code>{"message":"success","id":"4"}</code>
就像刪除點贊一樣,刪除帖子需要您向帖子URL發送DELETE請求:
<code>GET /me/</code>
注意:我們在本文中看到Postman有很多有用的功能。升級免費版本後(單個許可證9.99美元),還有更多功能——例如在多個數據值上運行API集合。
創建API是一項至關重要的任務,其中涉及許多重要的步驟。 Postman使徹底測試的過程更加容易。目前,Postman似乎很好地解決了普通開發人員的問題。但是,它如何隨著Web行業中常見的範式轉變而發展還有待觀察。
我們是否錯過了Postman的重要功能?您是否使用其他客戶端來測試API?請在下面的評論中告訴我們。
Postman是開發人員用於構建和測試API的流行工具。它提供了一個用戶友好的界面,可以輕鬆發送HTTP請求和查看響應。 Postman支持各種類型的HTTP請求,例如GET、POST、DELETE、PUT等等。它還允許您保存請求並將它們組織到集合中,以便輕鬆訪問和共享。 Postman內置的測試功能允許您直接在工具本身中為您的API編寫測試,使其成為API開發的綜合解決方案。
Postman提供免費版和付費版。免費版本,稱為Postman Basic,提供了一套強大的功能,足以滿足個人開發人員或小型團隊的需求。對於需要高級功能和協作能力的大型團隊或企業,Postman提供付費計劃。
Postman Pro是一個付費版本,提供基本版本中沒有的附加功能。這些包括團隊協作、API監控、高級API文檔等等。它專為需要管理複雜API開發項目的專業開發人員和團隊而設計。
您可以從他們的官方網站購買Postman。他們根據您的團隊規模和特定需求提供不同的定價計劃。您可以選擇適合您需求的計劃,然後按照提示完成購買。
在軟件開發中,Postman在API開發和測試中發揮著至關重要的作用。它允許開發人員在一個平台上構建、測試和記錄API,從而簡化開發過程。它還支持協作,使團隊更容易一起處理API項目。
是的,Postman支持自動化測試。您可以在Postman中為您的API編寫測試,並使用Postman的Collection Runner或Newman(Postman的命令行工具)自動運行它們。這使得將API測試集成到您的持續集成/持續交付(CI/CD)管道中變得更容易。
Postman允許您將API請求組織到集合中。集合是一組可以一起保存的相關請求。這使得管理和共享您的請求變得更容易。您還可以向集合中添加文件夾以進行進一步的組織。
是的,Postman支持各種身份驗證類型,包括Basic Auth、Bearer Token、OAuth 1.0、OAuth 2.0等等。這使其成為測試具有不同身份驗證要求的API的多功能工具。
是的,Postman允許您與他人共享您的集合。這對於團隊協作特別有用。如果您使用的是付費版本,則可以通過將其導出為JSON文件或直接從Postman共享來共享集合。
有很多資源可以學習Postman。 Postman官方網站提供全面的文檔和教程。還有許多在線課程、博客和論壇,您可以在其中學習其他Postman用戶的經驗。
以上是API建築和測試使Postman變得更加容易的詳細內容。更多資訊請關注PHP中文網其他相關文章!