【问题标题】:Lombok (Builder) Object to Protobuf objectLombok (Builder) 对象到 Protobuf 对象
【发布时间】: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;
}

我正在尝试使用以下库来实现此目的,但失败了。

谁能帮我解决这个问题,或者是否有任何其他库可以进行这种转换或以更好的方式处理它?

【问题讨论】:

标签: java mapstruct modelmapper protobuf-java


【解决方案1】:

您可以使用翻译器来做到这一点:

public User translate(native) {
        return User.builder()
        .userName(native.getUserName())
        .userID(native.getUserID())
        .build();
 }

这里native是用户消息的构建器,或者你可以是STUB。

【讨论】:

    猜你喜欢
    • 2022-06-17
    • 1970-01-01
    • 2018-04-14
    • 2018-01-02
    • 2020-06-13
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多