iT邦幫忙

2023 iThome 鐵人賽

DAY 6
0
自我挑戰組

gRPC通訊框架認識與實作系列 第 6

gRPC通訊框架認識與實作【Day 06】

  • 分享至 

  • xImage
  •  

連續幾天都超級早起,今天是因為衛生局的人來複查登革熱的噴藥作業,結果就一路等到下午了...

昨天寫好的.proto設定檔,整個內容看起來應該會像這樣

syntax = "proto3";

//檔案生成的基本架構
option java_multiple_files = false;
option java_package="com.iron";
option java_outer_classname = "IronManProto";

//request跟response的型態以及資料格式
message IronManRequest01{
  string name = 1;
  string age = 2;
}

message IronManResponse01{
  string result = 1;
  string age = 2;
}

//定義service的函式
service IronManService{
  rpc IronMan01(IronManRequest01) returns (IronManResponse01) {}
}

現在要開始實作我們的grpc method,我們點選maven的protobuf套件,讓他自動幫我們生成相對應的method吧。
https://ithelp.ithome.com.tw/upload/images/20230911/20147417VrqyCPLcvI.jpg
第一步是點選Plugin內的clean,每次如果有新增或修改內容,都要重新點選一次clean
第二步是選擇protobuf的compile,這邊就會開始生成屬於gRPC的兩個檔案:xxxProto跟xxxServiceGrpc
第三步是選擇protobuf的custom,這個會生成一些method,一樣會在xxxProto跟xxxServiceGrpc這兩個檔案中

確認一下我們在java資料夾底下是否有新增一個資料夾,路徑為:./com.iron
如果正確的生成那應該會長得像這個樣子
https://ithelp.ithome.com.tw/upload/images/20230911/20147417L8tsseuSkB.jpg

我們先點開第一個檔案-IronManProto來看看,裡面會有各式各樣的method,這個檔案主要大意就是之前我們在.proto檔內所設定的request跟response,以及設定好get跟set這些取得資料的內容。

點開第二個IronManServiceGrpc,往下找看看,
https://ithelp.ithome.com.tw/upload/images/20230911/20147417oZnM6PPRE8.jpg

往下你可以看到,我們在IronMan.proto定義的Service ironMan01Service被定義在這裡了,之後我們就要override這個method作為我們的server端,那就表示我們所定義的method成功被生出來囉!!

接下來我們要使用這個module來製作server跟client兩個module,請複製成兩份並分別重新命名成gRPC_Server以及gRPC_Client,我們明天見囉!


上一篇
gRPC通訊框架認識與實作【Day 05】
下一篇
gRPC通訊框架認識與實作【Day 07】
系列文
gRPC通訊框架認識與實作30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言