【问题标题】:How to map between simple object to protobuff object in java using Object Mapperjava - 如何使用Objectmapper将简单对象映射到java中的protobuf对象
【发布时间】:2021-01-27 10:56:54
【问题描述】:

我想使用对象映射器将简单对象映射到 protobuff 当我尝试这个时,它会导致异常

ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.convertValue(enterprise, EnterpriseMessage.Enterprise.class);

异常消息是:找不到简单类型的(映射)密钥反序列化器

【问题讨论】:

    标签: java protocol-buffers objectmapper


    【解决方案1】:

    在我看来objectmapper 不是映射原型的最佳选择 因为objectmapper 用于将JSON 映射到POJO's,反之亦然。

    为此我的建议是使用mapstruct,它提供 映射java beans 的广泛功能。特别是在protosPOJO's 之间。

    只需为您想要映射框架的class 创建一个interface 映射器 生成实现。

    我给你写了一个你可以效仿的例子。

    import org.mapstruct.Mapper;
    
    @Mapper
    public interface EnterpriseProtoMapper {
      EnterpriseMessage.Enterprise toProto(Enterprise enterprise);
    }
    

    有关更多信息,您可以在此链接中查看mapStruct 的文档:

    MapStruct 1.3.1.Final Reference Guide

    【讨论】:

      猜你喜欢
      • 2018-08-13
      • 1970-01-01
      • 2012-07-18
      • 2018-08-24
      • 2014-11-02
      • 2020-08-16
      • 1970-01-01
      • 1970-01-01
      • 2021-12-08
      相关资源
      最近更新 更多