我的 Protobuf 消息中有以下内容:
enum SegmentType {
UNKNOWN = 0;
TYPE_1 = 1;
TYPE_2 = 2;
TYPE_3 = 3;
}
optional SegmentType segment_type = 1 [default = UNKNOWN]
GeneratedEnum
我想生成一个字符串,而不是类型,并将值作为特定类型。例如
SegmentType: String = "TYPE_1"
此链接解释了如何映射为自定义类型,但我不清楚如何映射为值类型。当我尝试以下操作时,ScalaPB 显示应在 String 伴生类中实现的错误。
implicit val segmentType = TypeMapper[SegmentType, String](_.name)(SegmentType.fromName(_).get)
我怎样才能实现它?还有一种方法可以将Enum
消息中的所有类型转换为String
?