我知道可以将protobuf消息转换为Java类。我想知道是否可以在不编写翻译器功能的情况下将protobuf消息转换为Java对象?
答案 0 :(得分:1)
是的,有可能。使用protobuf转换器。检查:https://github.com/BAData。
将域对象转换为Protobuf:
ProtoObject protoObject =
Converter.create().toProtobuf(ProtoObject.class, domainObject);
将Protobuf对象转换为域对象:
DomainObject domainObject = Converter.create().toDomain(DomainObject.class, protoObject)
您的域类需要使用@ProtoClass进行注释,并指定要将域类映射到的原型类。示例:
@ProtoClass(ProtoObject.class)
Class DomainClass{
@ProtoField
private String field1;
@ProtoField(name = "xyz") // in case proto and domain class field have different names
private String field2;
}
我一直在使用它,它很容易使用,并且节省了很多工作。