【发布时间】:2019-10-03 01:28:33
【问题描述】:
我的 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"
这个link 解释了如何映射为自定义类型,但我不清楚如何映射为值类型。当我尝试以下操作时,ScalaPB 显示应在 String 伴生类中实现的错误。
implicit val segmentType = TypeMapper[SegmentType, String](_.name)(SegmentType.fromName(_).get)
我怎样才能实现它?还有一种方法可以将消息中的所有 Enum 类型转换为 String 吗?
【问题讨论】: