java - Dozer Converter 将字符串映射到字符串

标签 java jaxb dozer

我正在使用 Dozer,它正在将来自 WebService 的 JAXB 对象映射到驻留在我们应用程序服务层中的业务对象。在某些特定情况下,我需要将字符串值中的代码映射到字符串值中的人类可读描述。 示例:“FLT”映射到“FLAT”,“TRP”映射到“TRAP”。我有很多这样的类型映射。

我正在通过继承 DozerConverter 并实现两个抽象方法 convertTo() 和 convertFrom() 来实现自定义 Dozer Converter。在这些中,我想分别将“FLT”映射到“FLAT”,将“FLAT”映射到“FLT”,但不幸的是,Dozer 没有调用正确的 convertTo() 或 convertFrom( ) 方法正确。

还有其他人遇到这个问题并且可以指出正确的方向吗? 谢谢

最佳答案

如果您可以控制 POJO,则可以将这些字符串视为枚举。您必须为 Web 服务端和业务逻辑端定义枚举,但我认为这是比使用转换器或 xmladapter 更优雅的解决方案。

枚举示例:

public enum ENUM_WS {
  @XmlEnumValue("TRP") TRAP,
  @XmlEnumValue("FLT") FLAT
}

public enum ENUM_BL {
  @XmlEnumValue("TRAP") TRAP,
  @XmlEnumValue("FLAT") FLAT
}

关于java - Dozer Converter 将字符串映射到字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7932822/

相关文章:

java - 将 xjc 与 Ant 一起使用

java - 如何使用推土机映射将字符串常量发送到字段值?

java - 如何在 java 中的 long 前面放置固定数量的 0?

java - 如何在 Android 中以编程方式调用电话?

java - 在特定索引之后从列表中删除所有元素

java - 使用 JAXB 创建具有动态标签名称的 XML

java - 将自定义参数传递给 Dozer 映射

java - Dozer 枚举到枚举映射

java - 如何使用 Chrome webdriver 缩小页面