W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
gRPC 是一個(gè)模式驅(qū)動(dòng)的框架。這意味著客戶端和服務(wù)器在調(diào)用和執(zhí)行請(qǐng)求時(shí)必須遵守標(biāo)準(zhǔn)協(xié)議(架構(gòu))。服務(wù)定義可以實(shí)現(xiàn)這一點(diǎn)。在客戶端,服務(wù)定義使客戶端了解服務(wù)器支持的所有服務(wù)和方法以及消息負(fù)載結(jié)構(gòu)、支持的字段和數(shù)據(jù)類型。任何不遵循服務(wù)定義強(qiáng)制執(zhí)行的規(guī)定的行為都會(huì)導(dǎo)致錯(cuò)誤。在請(qǐng)求執(zhí)行過程中,服務(wù)定義用于序列化雙方交換的信息。
gRPC 使用protobuf(協(xié)議緩沖區(qū))作為接口定義語言(IDL)來定義服務(wù)定義。創(chuàng)建 gRPC 請(qǐng)求時(shí),您需要將適當(dāng)?shù)姆?wù)定義添加到請(qǐng)求以選擇要調(diào)用的方法。您可以通過前往gRPC 請(qǐng)求中的“服務(wù)定義”選項(xiàng)卡來配置服務(wù)定義。
創(chuàng)建新請(qǐng)求時(shí),如果未配置服務(wù)定義,Postman 會(huì)在您選擇“方法選擇”下拉列表時(shí)提示您進(jìn)行配置。此接口可作為一種快速方式來添加您的服務(wù)定義并繼續(xù)調(diào)用您的請(qǐng)求。.proto從這個(gè)菜單中,您可以選擇工作區(qū)中可用的 protobuf API,或者通過將文件從本地系統(tǒng)拖放到 Postman 中來導(dǎo)入新 API 。
要將服務(wù)定義加載到請(qǐng)求中,您可以使用服務(wù)器反射來加載服務(wù)定義,或者使用 protobuf API 作為服務(wù)定義。
如果由服務(wù)器啟用,服務(wù)器反射可能是將服務(wù)定義添加到客戶端的最簡單方法。它從服務(wù)器獲取模式中可用的最新信息,而無需您手動(dòng)加載文件.proto或創(chuàng)建 protobuf 模式。輸入 URL,Postman 會(huì)自動(dòng)加載服務(wù)定義。
如果服務(wù)器未啟用服務(wù)器反射,您可以使用 protobuf API 作為請(qǐng)求的服務(wù)定義。為此,您可以在工作區(qū)中選擇現(xiàn)有的 protobuf API,或者將文件.proto作為 protobuf API 導(dǎo)入 Postman。您還可以使用 Postman API Builder 創(chuàng)建新的 protobuf API。
轉(zhuǎn)到Service definition選項(xiàng)卡并選擇Select a protobuf API from this workspace。這將打開API 選擇下拉列表,您可以在其中瀏覽可用的 API 并選擇您要使用的 API。
在測試服務(wù)時(shí),您還可以通過選擇API 名稱旁邊的版本選擇器來切換到所選 API 的不同版本。
如果您的工作區(qū)中沒有可用的 protobuf API,您還可以將.proto文件作為 protobuf API 導(dǎo)入 Postman,并將其用作服務(wù)定義。
要導(dǎo)入.proto文件,請(qǐng)執(zhí)行以下操作:
這將從文件中創(chuàng)建一個(gè)新的 protobuf API .proto,并將其作為服務(wù)定義用于請(qǐng)求中。
您還可以將該.proto文件導(dǎo)入為現(xiàn)有 API 的更新。在Import as API界面上,您可以從工作區(qū)的可用 API 列表中選擇一個(gè) API,并將該.proto文件添加為新版本。您還可以通過從列表中選擇現(xiàn)有版本來將其替換為現(xiàn)有版本。
除了.proto從本地系統(tǒng)導(dǎo)入文件,您還可以.proto通過在導(dǎo)入界面中輸入 URL 而不是選擇Choose a file來從 URL 獲取文件。
Postman 支持導(dǎo)入多文件模式。您可以導(dǎo)入.proto包含引用其他文件的指令的文件import。
有時(shí),gRPC 模式可以分為多個(gè) .proto 文件。這些 .proto 文件通過模式中的導(dǎo)入指令引用。/Users/johndoe/projects/my-app/protos/enums/NumericEnum.proto包含絕對(duì)路徑(例如)和相對(duì)路徑( )的導(dǎo)入指令../enums/NumericEnum.proto由 Postman 自動(dòng)解析,不需要任何額外配置。如果導(dǎo)入指令不包含絕對(duì)路徑或相對(duì)路徑,則必須添加它們的父目錄。
考慮這個(gè)示例文件結(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)入路徑選項(xiàng)在請(qǐng)求中配置導(dǎo)入路徑。
轉(zhuǎn)到服務(wù)定義選項(xiàng)卡并選擇創(chuàng)建新 API。這將啟動(dòng)創(chuàng)建新 API 流程,您必須在其中命名新 API 和版本,并選擇要?jiǎng)?chuàng)建的 API 類型。Postman 支持在protobuf 語言的版本 2 和 3 中創(chuàng)建 protobuf API 。完成后,選擇Create New API。這將在新選項(xiàng)卡中的 Postman API Builder 中打開 API。
了解有關(guān)使用 API Builder 創(chuàng)建和管理 protobuf API 的更多信息。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: