私はScalaPBを使用して、私のprotobufメッセージをシリアライズするためにScalaのケースクラスをコンパイルしています。ScalaPBで 'oneof'を使用するprotobufメッセージをシリアル化/デシリアライズする方法はありますか?
私は次のメッセージと.proto
ファイルがあります:
message WrapperMessage {
oneof msg {
Login login = 1;
Register register = 2;
}
}
message Login {
required string email = 1;
required string password = 2;
}
message Register {
required string email = 1;
required string password = 2;
optional string firstName = 3;
optional string lastName = 4;
}
がどのように私はmsg
内Login
メッセージを入れたいことを知っている私のWrapperMessage
を作成するのですか?
val login = Login(email = "[email protected]", password = "testpass")
val wrapperMessage = WrapperMessage(???)
val wrapperMessageBytes = wrapperMessage.toByteArray
のは、私がワイヤ上WrapperMessage
を受け付けておりますことを今言ってみましょう。 ScalaPBのケースクラスメソッドを使用してメッセージをどのように非直列化するのですか?
私は、 'oneof'機能の前にScalaPBを使用しましたが、使用しませんでした。可能であれば、Java APIをより慣用的なScalaパターンに変換したことが分かりました。 – kliew