如何在kotlin中破坏grpc消息?

时间:2018-01-08 11:06:12

标签: kotlin grpc

我想破坏像这样的grpc消息。

message AskOrUpdateQuestionRequest {
   int64 user_id = 1;
   int64 product_id = 2;
   core.model.QuestionProfile question = 3;
}

message QuestionProfile {
   int64 id = 1;
   Question.Status status = 2;
   Question.Type type = 3;
   string title = 4; 
}

我试图破坏这个对象? (grpc消息)在kotlin

   val  (title) = request.question

然而,它失败并出现错误。

  

QuestionModelProtos.QuestionProfile类型的解构声明初始化程序!必须有一个' component1()'功能

我该如何开展这项工作

希望这是有道理的。


已解决:@Alex Filatov的回答帮助我解决了这个问题。

1 个答案:

答案 0 :(得分:1)

val (title) = request.question compiles to val title = request.question.component1()。 Protobuf类没有componentX()方法,因此您需要add them

operator fun QuestionModelProtos.QuestionProfile.component1() = this.title