Postman 中的 gRPC 請(qǐng)求包括各種工具、視圖和控件,可幫助您有效且高效地使用和測(cè)試 gRPC 服務(wù)。本主題重點(diǎn)介紹請(qǐng)求接口的各個(gè)部分以及如何使用它。

內(nèi)容
創(chuàng)建新請(qǐng)求
通過(guò)選擇邊欄中的新建按鈕來(lái)創(chuàng)建新的 gRPC 請(qǐng)求,這會(huì)彈出創(chuàng)建新對(duì)話框。從列表中選擇 gRPC 請(qǐng)求以在新選項(xiàng)卡中打開(kāi)一個(gè)空白的gRPC 請(qǐng)求。

請(qǐng)求部分
請(qǐng)求部分包括連接到服務(wù)器和執(zhí)行所選方法所需的配置。請(qǐng)求需要服務(wù)器 URL、服務(wù)定義和要調(diào)用的選定方法。根據(jù) API 要求,您可能必須隨請(qǐng)求一起傳遞消息負(fù)載、元數(shù)據(jù)和授權(quán)詳細(xì)信息。您可能還必須根據(jù)要求配置 TLS 和其他證書(shū)。

- 服務(wù)器 URL - 定義托管服務(wù)的端點(diǎn)。gRPC URL 通常以grpc://而不是http://或開(kāi)頭https://。在創(chuàng)建新請(qǐng)求時(shí),您還可以通過(guò)選擇 URL 字段來(lái)瀏覽您使用過(guò)的 URL。如果您在同一個(gè)端點(diǎn)上測(cè)試多個(gè)方法,這有助于您更快地創(chuàng)建請(qǐng)求。
- 方法- 使用方法選擇器下拉列表選擇您希望調(diào)用的方法。方法列表由服務(wù)定義填充。有關(guān)方法類型的更多詳細(xì)信息,請(qǐng)參閱調(diào)用不同類型的方法部分。
- 有效載荷- gRPC 有效載荷具有幫助服務(wù)器執(zhí)行請(qǐng)求的項(xiàng)目:消息- 在此處以 JSON 格式編寫(xiě)消息以隨請(qǐng)求一起發(fā)送。服務(wù)器使用此消息執(zhí)行適當(dāng)?shù)牟僮鞑⒔o您一個(gè)響應(yīng)作為回報(bào)。消息操作- Beautify按鈕 ( { }) 使用高級(jí)格式使組合的 JSON 消息對(duì)外部用戶而言可呈現(xiàn)和可讀。一旦您選擇了要調(diào)用的方法,生成示例消息按鈕就會(huì)使用模式創(chuàng)建示例消息。授權(quán)- 在此處傳遞服務(wù)器將用于授權(quán)連接的憑據(jù)。您可以從包括 API Key、Basic auth 和 Bearer token 在內(nèi)的授權(quán)類型列表中進(jìn)行選擇。詳細(xì)了解授權(quán)請(qǐng)求。元數(shù)據(jù)- 以鍵值對(duì)的形式隨請(qǐng)求傳遞其他元數(shù)據(jù)??蛻舳耸褂么嗽獢?shù)據(jù)來(lái)提供有關(guān)對(duì)服務(wù)器的調(diào)用的更多信息。服務(wù)定義——服務(wù)定義使客戶端了解服務(wù)器支持的所有服務(wù)和方法,以及消息負(fù)載結(jié)構(gòu)、支持的字段和數(shù)據(jù)類型。如果服務(wù)器支持服務(wù)器反射,則在您輸入 URL 后會(huì)自動(dòng)加載服務(wù)定義。否則,您將需要通過(guò)上傳文件.proto或在 Postman 中創(chuàng)建 protobuf API 來(lái)手動(dòng)加載服務(wù)定義。了解有關(guān)使用服務(wù)定義的更多信息。
- 腳本- Postman 具有強(qiáng)大的腳本環(huán)境,允許您在 gRPC 請(qǐng)求中添加 JavaScript 代碼(腳本)。您可以使用腳本編寫(xiě) API 測(cè)試,通過(guò)登錄到Postman 控制臺(tái)來(lái)調(diào)試您的請(qǐng)求,或者動(dòng)態(tài)讀取或更新變量的值。詳細(xì)了解gRPC 請(qǐng)求中的腳本。
- TLS 切換http://- 與使用 URL 結(jié)構(gòu)(對(duì)于不安全,對(duì)于安全)定義調(diào)用是通過(guò)安全連接還是不安全連接執(zhí)行的 HTTP 不同,https://對(duì)于 gRPC,客戶端需要手動(dòng)配置它。
根據(jù)服務(wù)器要求,您可以使用URL 前的鎖圖標(biāo)選擇通過(guò)安全或不安全的連接調(diào)用該方法 。 - 調(diào)用按鈕- 輸入服務(wù)器 URL、選擇要調(diào)用的方法并定義負(fù)載后,選擇調(diào)用以調(diào)用請(qǐng)求并從服務(wù)器獲取響應(yīng)。
- 請(qǐng)求名稱- 如果您想測(cè)試具有不同配置的多個(gè)請(qǐng)求,您可以分別命名每個(gè)請(qǐng)求并將它們保存到一個(gè)集合中。保存到集合中可以讓您稍后重用這些請(qǐng)求并與他人共享。
- 請(qǐng)求操作- 請(qǐng)求操作提供有關(guān)您可以對(duì)請(qǐng)求執(zhí)行的操作的選項(xiàng):保存- 將請(qǐng)求保存到一個(gè)集合中,以便您以后可以重用它或與他人共享。由于 WebSocket 和 gRPC 請(qǐng)求與 HTTP 請(qǐng)求具有不同的特性,因此當(dāng)它們被添加到集合中時(shí),會(huì)導(dǎo)致集合處于“測(cè)試”狀態(tài)并具有某些限制。處于此狀態(tài)時(shí),集合可以包含 WebSocket 或 gRPC 請(qǐng)求,但不能包含 HTTP 請(qǐng)求。也不支持與集合相關(guān)的一些功能。刪除- 從集合中刪除現(xiàn)有請(qǐng)求。
調(diào)用不同類型的方法
gRPC 允許四種不同類型的客戶端-服務(wù)器通信模式,可用于不同的用例:
調(diào)用一元方法
一元是 HTTP 中也使用的傳統(tǒng)請(qǐng)求-響應(yīng)通信模式??蛻舳苏{(diào)用包含所有詳細(xì)信息的請(qǐng)求,服務(wù)器返回一個(gè)響應(yīng)。
要調(diào)用一元請(qǐng)求,請(qǐng)從Method selection下拉列表中選擇方法,添加詳細(xì)信息并選擇Invoke。服務(wù)器處理發(fā)送的信息并返回響應(yīng)。
調(diào)用客戶端流方法
使用客戶端流式傳輸方法類型,您可以從客戶端發(fā)送多個(gè)消息有效負(fù)載,并且服務(wù)器以單個(gè)響應(yīng)進(jìn)行響應(yīng)。
要調(diào)用客戶端流方法,請(qǐng)從Method selection下拉列表中選擇方法,輸入詳細(xì)信息并選擇Invoke。這會(huì)將 gRPC 請(qǐng)求置于持久流狀態(tài),您可以在其中發(fā)送多條消息。完成后,選擇End streaming。服務(wù)器然后處理傳遞的所有信息并返回響應(yīng)。
調(diào)用服務(wù)器流方法
使用服務(wù)器流方法類型,當(dāng)客戶端調(diào)用包含所有詳細(xì)信息的方法時(shí),服務(wù)器可以使用多條消息進(jìn)行響應(yīng)。
要調(diào)用服務(wù)器流方法,請(qǐng)從“方法選擇”下拉列表中選擇方法,輸入詳細(xì)信息,然后選擇“調(diào)用”。請(qǐng)求進(jìn)入持久的“流”狀態(tài),服務(wù)器的響應(yīng)開(kāi)始出現(xiàn)在響應(yīng)區(qū)域的底部。根據(jù)用例,流會(huì)在服務(wù)器流式傳輸完所有消息后自動(dòng)關(guān)閉。您可以通過(guò)選擇URL 欄旁邊的取消來(lái)手動(dòng)結(jié)束流。
調(diào)用雙向流方法
在雙向流的情況下,客戶端和服務(wù)器可以異步通信。
要調(diào)用雙向流方法,請(qǐng)從Method selection下拉列表中選擇方法,然后選擇Invoke。這會(huì)將請(qǐng)求置于“流”狀態(tài),您可以開(kāi)始向服務(wù)器發(fā)送消息。服務(wù)器也可以在同一個(gè)會(huì)話中回復(fù)。完成后,選擇結(jié)束流式傳輸以結(jié)束會(huì)話。
響應(yīng)部分
調(diào)用方法后,服務(wù)器會(huì)返回響應(yīng)區(qū)域中顯示的適當(dāng)響應(yīng)。
響應(yīng)部分包含以下項(xiàng)目:
- 響應(yīng)- 響應(yīng)負(fù)載具有三種類型的信息:響應(yīng)主體——請(qǐng)求執(zhí)行成功后服務(wù)器返回的主要信息。元數(shù)據(jù)(初始)和尾隨元數(shù)據(jù)- 服務(wù)器返回的元數(shù)據(jù)通常包含有關(guān)執(zhí)行的信息。
- 更多信息- 此部分為您提供有關(guān)性能以及執(zhí)行是否成功的關(guān)鍵信息。您可以使用有關(guān)執(zhí)行所用時(shí)間的信息來(lái)評(píng)估 API 的性能。狀態(tài)代碼為您提供說(shuō)明執(zhí)行是否成功的信息。狀態(tài)碼0 OK表示執(zhí)行成功。如果出現(xiàn)錯(cuò)誤,基于 gRPC 的實(shí)現(xiàn)會(huì)針對(duì)不同的錯(cuò)誤場(chǎng)景返回不同的狀態(tài)代碼,這有助于您了解原因并通過(guò)將鼠標(biāo)懸停在錯(cuò)誤上來(lái)找出下一組操作。
- 另存為示例- 您可以將對(duì) gRPC 請(qǐng)求的響應(yīng)保存為示例。對(duì)于流方法,您必須先結(jié)束流,然后才能保存示例。請(qǐng)參閱使用 gRPC 示例了解更多信息。
- 換行文本按鈕- 選擇此按鈕可根據(jù)響應(yīng)區(qū)域的寬度調(diào)整響應(yīng)正文的寬度,從而無(wú)需滾動(dòng)即可更輕松地閱讀較長(zhǎng)的響應(yīng)。
- 搜索- 使用“搜索”按鈕在響應(yīng)中查找特定內(nèi)容。
- 多重響應(yīng)——在調(diào)用流式傳輸方法類型(客戶端流式傳輸、服務(wù)器流式傳輸或雙向流式傳輸)時(shí),單個(gè)會(huì)話中的客戶端-服務(wù)器通信在響應(yīng)區(qū)域中記錄為時(shí)間軸中的一系列已發(fā)送和已接收消息,而不是單一的回應(yīng)。連接狀態(tài)- 連接狀態(tài)顯示與服務(wù)器的連接是否處于活動(dòng)狀態(tài)以及消息是否正在流式傳輸。消息流- 消息流具有按時(shí)間倒序排列的已發(fā)送、已接收和信息性消息的列表(最新出現(xiàn)在頂部)。展開(kāi)/折疊消息- 您可以通過(guò)在消息流中展開(kāi)來(lái)深入查看消息內(nèi)容。搜索消息- 您可以使用高級(jí)搜索輸入來(lái)搜索特定消息。消息過(guò)濾器- 使用消息過(guò)濾器根據(jù)消息類型調(diào)整視圖。您可以選擇查看從客戶端發(fā)送或從服務(wù)器接收的消息,而不是所有消息。清除消息-清除消息按鈕隱藏視圖中交換的所有消息,清理響應(yīng)區(qū)域,以便您可以專注于新消息。您可以使用隱藏視圖中的恢復(fù)按鈕恢復(fù)消息。
- 測(cè)試結(jié)果- 您在腳本部分編寫(xiě)的斷言結(jié)果顯示在這里?;跍y(cè)試腳本,結(jié)果可以是以下三種類型之一:通過(guò)、失敗和跳過(guò)。詳細(xì)了解gRPC 請(qǐng)求中的腳本。
右側(cè)邊欄
右側(cè)邊欄使您可以訪問(wèn)更多工具和信息,例如文檔、評(píng)論和請(qǐng)求詳細(xì)信息。打開(kāi) gRPC 請(qǐng)求,然后在右側(cè)欄中選擇一個(gè)選項(xiàng):
- 請(qǐng)求文檔- 選擇文檔圖標(biāo)
以查看請(qǐng)求的文檔。當(dāng)您選擇一種方法時(shí),Postman 會(huì)使用 protobuf 定義自動(dòng)為有效負(fù)載字段和數(shù)據(jù)類型生成文檔。您還可以添加描述以幫助用戶理解和使用該請(qǐng)求。
選擇描述旁邊的編輯圖標(biāo) ,然后使用 Postman 的內(nèi)置編輯工具編寫(xiě)您的內(nèi)容。您還可以向收藏集的概覽或收藏夾中的文件夾添加描述。在邊欄中選擇收藏或文件夾,然后選擇描述
旁邊的編輯圖標(biāo)。 - 評(píng)論- 選擇評(píng)論圖標(biāo)
可在您處理 API 時(shí)與您的團(tuán)隊(duì)成員協(xié)作。您可以使用@標(biāo)記其他人來(lái)提出問(wèn)題、提供反饋和討論您的 API。 - 請(qǐng)求信息- 選擇信息圖標(biāo)
以查看有關(guān)請(qǐng)求的更多詳細(xì)信息,例如請(qǐng)求 ID 和創(chuàng)建日期。
故障排除
如果您在使用 Postman 的 gRPC 客戶端時(shí)遇到問(wèn)題,請(qǐng)?jiān)敿?xì)了解常見(jiàn)問(wèn)題以及如何解決這些問(wèn)題。
有關(guān)更多疑難解答信息,請(qǐng)參閱應(yīng)用程序問(wèn)題疑難解答和請(qǐng)求疑難解答。
暫停服務(wù)
當(dāng)前客戶端設(shè)置無(wú)法訪問(wèn)您正在使用的服務(wù)器。如果您已確認(rèn)服務(wù)器正在運(yùn)行,請(qǐng)檢查客戶端中的 TLS 設(shè)置。默認(rèn)情況下,TLS 處于關(guān)閉狀態(tài)。
服務(wù)器反射失敗
- 檢查服務(wù)器是否支持服務(wù)器反射。
- 檢查請(qǐng)求的 TLS 設(shè)置。
- 使用服務(wù)定義重試服務(wù)器反射 > 使用服務(wù)器反射 > 再試一次。
切換到 Postman Desktop Agent 以連接 gRPC 服務(wù)器
要使用 Postman 的所有 gRPC 功能,您必須運(yùn)行 Postman Desktop Agent。
了解有關(guān)安裝 Postman Desktop Agent 的更多信息。
下一步
了解所有基本界面元素后,嘗試調(diào)用您的第一個(gè) gRPC 請(qǐng)求。
更多建議: