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

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
21個開發人員新聞通訊將在2025年訂閱21個開發人員新聞通訊將在2025年訂閱Apr 24, 2025 am 08:28 AM

與這些頂級開發人員新聞通訊有關最新技術趨勢的了解! 這個精選的清單為每個人提供了一些東西,從AI愛好者到經驗豐富的後端和前端開發人員。 選擇您的收藏夾並節省時間搜索REL

使用AWS ECS和LAMBDA的無服務器圖像處理管道使用AWS ECS和LAMBDA的無服務器圖像處理管道Apr 18, 2025 am 08:28 AM

該教程通過使用AWS服務來指導您通過構建無服務器圖像處理管道。 我們將創建一個部署在ECS Fargate群集上的next.js前端,與API網關,Lambda函數,S3桶和DynamoDB進行交互。 Th

CNCF ARM64飛行員:影響和見解CNCF ARM64飛行員:影響和見解Apr 15, 2025 am 08:27 AM

該試點程序是CNCF(雲本機計算基礎),安培計算,Equinix金屬和驅動的合作,簡化了CNCF GitHub項目的ARM64 CI/CD。 該計劃解決了安全問題和績效

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

SublimeText3 Linux新版

SublimeText3 Linux新版

SublimeText3 Linux最新版

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

EditPlus 中文破解版

EditPlus 中文破解版

體積小,語法高亮,不支援程式碼提示功能

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具