【发布时间】:2018-08-05 13:33:10
【问题描述】:
我使用 lombok/auto-value 和构建器模式创建了一个 POJO。我需要将对象转换为由 protobuf 生成的 java 模型。
public class Test {
public static void main(String args[]) {
User user = User.builder()
.userName("username")
.userId(1)
.build();
// Protouser.ProtoUser protoUser = Protouser.ProtoUser
// .newBuilder()
// .setUserName("usernmae")
// .setUserId(1)
// .build();
}
}
@Getter
@ToString
@Builder(toBuilder = true)
class User {
@NonNull
private String userName;
private int userId;
}
Protobuf 文件
syntax = "proto3";
message ProtoUser {
string userName = 1;
int32 userId = 2;
}
我正在尝试使用以下库来实现此目的,但失败了。
谁能帮我解决这个问题,或者是否有任何其他库可以进行这种转换或以更好的方式处理它?
【问题讨论】:
-
我认为将对象映射到协议缓冲区构建器应该可以工作:github.com/modelmapper/modelmapper/blob/master/extensions/…。
-
我能够使用 mapstruct 实现这一目标
-
SimpleFlatMapper 不做对象到对象的映射,所以在这种情况下没有用。
-
@suraj1291993 你能举个例子吗,你是怎么做到的?
-
@AnatoliiStepaniuk 我使用github.com/entur/mapstruct-spi-protobuf 来实现它。目前我没有任何示例实现。
标签: java mapstruct modelmapper protobuf-java