連續幾天都超級早起,今天是因為衛生局的人來複查登革熱的噴藥作業,結果就一路等到下午了...
昨天寫好的.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吧。
第一步是點選Plugin內的clean,每次如果有新增或修改內容,都要重新點選一次clean
第二步是選擇protobuf的compile,這邊就會開始生成屬於gRPC的兩個檔案:xxxProto跟xxxServiceGrpc
第三步是選擇protobuf的custom,這個會生成一些method,一樣會在xxxProto跟xxxServiceGrpc這兩個檔案中
確認一下我們在java資料夾底下是否有新增一個資料夾,路徑為:./com.iron
如果正確的生成那應該會長得像這個樣子
我們先點開第一個檔案-IronManProto來看看,裡面會有各式各樣的method,這個檔案主要大意就是之前我們在.proto檔內所設定的request跟response,以及設定好get跟set這些取得資料的內容。
點開第二個IronManServiceGrpc,往下找看看,
往下你可以看到,我們在IronMan.proto定義的Service ironMan01Service被定義在這裡了,之後我們就要override這個method作為我們的server端,那就表示我們所定義的method成功被生出來囉!!
接下來我們要使用這個module來製作server跟client兩個module,請複製成兩份並分別重新命名成gRPC_Server以及gRPC_Client,我們明天見囉!