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

內(nèi)容
創(chuàng)建新請求
通過選擇邊欄中的新建按鈕來創(chuàng)建新的 gRPC 請求,這會彈出創(chuàng)建新對話框。從列表中選擇 gRPC 請求以在新選項卡中打開一個空白的gRPC 請求。

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

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