Postman 使用服務(wù)定義

2023-04-04 09:30 更新

gRPC 是一個模式驅(qū)動的框架。這意味著客戶端和服務(wù)器在調(diào)用和執(zhí)行請求時必須遵守標準協(xié)議(架構(gòu))。服務(wù)定義可以實現(xiàn)這一點。在客戶端,服務(wù)定義使客戶端了解服務(wù)器支持的所有服務(wù)和方法以及消息負載結(jié)構(gòu)、支持的字段和數(shù)據(jù)類型。任何不遵循服務(wù)定義強制執(zhí)行的規(guī)定的行為都會導(dǎo)致錯誤。在請求執(zhí)行過程中,服務(wù)定義用于序列化雙方交換的信息。

gRPC 使用protobuf(協(xié)議緩沖區(qū))作為接口定義語言(IDL)來定義服務(wù)定義。創(chuàng)建 gRPC 請求時,您需要將適當?shù)姆?wù)定義添加到請求以選擇要調(diào)用的方法。您可以通過前往gRPC 請求中的“服務(wù)定義”選項卡來配置服務(wù)定義。

服務(wù)定義選項卡

創(chuàng)建新請求時,如果未配置服務(wù)定義,Postman 會在您選擇“方法選擇”下拉列表時提示您進行配置。此接口可作為一種快速方式來添加您的服務(wù)定義并繼續(xù)調(diào)用您的請求。.proto從這個菜單中,您可以選擇工作區(qū)中可用的 protobuf API,或者通過將文件從本地系統(tǒng)拖放到 Postman 中來導(dǎo)入新 API 。

從方法選擇下拉列表中配置服務(wù)定義

要將服務(wù)定義加載到請求中,您可以使用服務(wù)器反射來加載服務(wù)定義,或者使用 protobuf API 作為服務(wù)定義。

內(nèi)容

使用服務(wù)器反射

如果由服務(wù)器啟用,服務(wù)器反射可能是將服務(wù)定義添加到客戶端的最簡單方法。它從服務(wù)器獲取模式中可用的最新信息,而無需您手動加載文件.proto或創(chuàng)建 protobuf 模式。輸入 URL,Postman 會自動加載服務(wù)定義。

使用服務(wù)定義

使用 protobuf API

如果服務(wù)器未啟用服務(wù)器反射,您可以使用 protobuf API 作為請求的服務(wù)定義。為此,您可以在工作區(qū)中選擇現(xiàn)有的 protobuf API,或者將文件.proto作為 protobuf API 導(dǎo)入 Postman。您還可以使用 Postman API Builder 創(chuàng)建新的 protobuf API。

從工作區(qū)中選擇現(xiàn)有的 protobuf API

轉(zhuǎn)到Service definition選項卡并選擇Select a protobuf API from this workspace。這將打開API 選擇下拉列表,您可以在其中瀏覽可用的 API 并選擇您要使用的 API。

從工作區(qū)使用 protobuf API

在測試服務(wù)時,您還可以通過選擇API 名稱旁邊的版本選擇器來切換到所選 API 的不同版本。

更改請求中的 API 版本

導(dǎo)入 .proto 文件

如果您的工作區(qū)中沒有可用的 protobuf API,您還可以將.proto文件作為 protobuf API 導(dǎo)入 Postman,并將其用作服務(wù)定義。

要導(dǎo)入.proto文件,請執(zhí)行以下操作:

  1. 轉(zhuǎn)到服務(wù)定義選項卡并選擇導(dǎo)入 .proto 文件。
  2. .proto您可以從本地系統(tǒng)拖放文件或選擇選擇文件以打開文件資源管理器。
  3. 選擇文件后,選擇下一步。這會將您帶到Import as API界面。
  4. 為您的新 API 命名,添加版本名稱,然后選擇Import as API。

這將從文件中創(chuàng)建一個新的 protobuf API .proto,并將其作為服務(wù)定義用于請求中。

您還可以將該.proto文件導(dǎo)入為現(xiàn)有 API 的更新。在Import as API界面上,您可以從工作區(qū)的可用 API 列表中選擇一個 API,并將該.proto文件添加為新版本。您還可以通過從列表中選擇現(xiàn)有版本來將其替換為現(xiàn)有版本。
導(dǎo)入原型文件

除了.proto從本地系統(tǒng)導(dǎo)入文件,您還可以.proto通過在導(dǎo)入界面中輸入 URL 而不是選擇Choose a file來從 URL 獲取文件。

從 URL 加載 proto 文件
Postman 支持導(dǎo)入多文件模式。您可以導(dǎo)入.proto包含引用其他文件的指令的文件import。

添加導(dǎo)入路徑

有時,gRPC 模式可以分為多個 .proto 文件。這些 .proto 文件通過模式中的導(dǎo)入指令引用。/Users/johndoe/projects/my-app/protos/enums/NumericEnum.proto包含絕對路徑(例如)和相對路徑( )的導(dǎo)入指令../enums/NumericEnum.proto由 Postman 自動解析,不需要任何額外配置。如果導(dǎo)入指令不包含絕對路徑或相對路徑,則必須添加它們的父目錄。

考慮這個示例文件結(jié)構(gòu):

示例文件結(jié)構(gòu)

在此示例中,root.proto包含引用文件夾.proto中其他文件的導(dǎo)入指令protos。這些導(dǎo)入指令在架構(gòu)中可能看起來像這樣:


import "enums/NumericEnum.proto"
import "messages/EmptyMessage.proto"
import "messages/HelloResponse.proto"
import "messages/HelloRequest.proto"

在這種情況下,您需要將enums和messages(換句話說,protos)的父目錄配置為您在 Postman 中的導(dǎo)入路徑。添加的導(dǎo)入路徑可能如下所示:/Users/johndoe/projects/my-app/protos/. 選擇要導(dǎo)入的文件后,您可以使用導(dǎo)入流程中的導(dǎo)入路徑選項在請求中配置導(dǎo)入路徑。

添加導(dǎo)入路徑

創(chuàng)建一個新的 protobuf API

轉(zhuǎn)到服務(wù)定義選項卡并選擇創(chuàng)建新 API。這將啟動創(chuàng)建新 API 流程,您必須在其中命名新 API 和版本,并選擇要創(chuàng)建的 API 類型。Postman 支持在protobuf 語言的版本 2 和 3 中創(chuàng)建 protobuf API 。完成后,選擇Create New API。這將在新選項卡中的 Postman API Builder 中打開 API。

創(chuàng)建一個新的 API

下一步

了解有關(guān)使用 API Builder 創(chuàng)建和管理 protobuf API 的更多信息。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號