我有一个现有的JAVA项目,我想将嵌套的类/对象转换为Protocol Buffers.proto定义(反之亦然)。有自动转换它的工具,还是我必须手动进行?
答案 0 :(得分:1)
使用protobuf转换器。检查:https://github.com/BAData。
将域对象转换为Protobuf:
ProtoObject protoObject =
Converter.create().toProtobuf(ProtoObject.class, domainObject);
您的域类需要使用@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;
}
如果Domain类和proto类的结构不同,则必须编写一个映射器。让我知道您是否需要更多。
答案 1 :(得分:1)
回复上一条 Protobuf 转换器不起作用,此工具仅将 java pojobean 转换为 proto 消息。
如果你想将 java 类的 pojo 代码转换为 .proto 文件,你可以在这里尝试 protosuff' 参考两个git: 检查:[protostuff]:https://github.com/protostuff