如何解决如何使用对象映射器在 Java 中将简单对象映射到 protobuff 对象
我想使用对象映射器将简单对象映射到 protobuff 当我尝试这样做时,它会导致异常
ObjectMapper objectMapper = new ObjectMapper();
return objectMapper.convertValue(enterprise,EnterpriseMessage.Enterprise.class);
异常消息是:找不到类型简单类型的(映射)键反序列化器
解决方法
在我看来 objectmapper
不是映射原型的最佳选择
因为 objectmapper
用于将 JSON
映射到 POJO's
,反之亦然。
我为此目的的推荐是使用 mapstruct
,它提供
映射 java beans
的广泛功能。特别是在 protos
和 POJO's
之间。
只需为要映射框架的 interface
创建一个 class
映射器
生成实现。
我给你写了一个例子,你可以效仿。
import org.mapstruct.Mapper;
@Mapper
public interface EnterpriseProtoMapper {
EnterpriseMessage.Enterprise toProto(Enterprise enterprise);
}
有关更多信息,您可以在此链接中查看 mapStruct
的文档:
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。