0

我正在尝试提出一个接口,该接口具有非常非标准的字段表示方式,因为它是从遗留系统提供的,该接口似乎需要一些自定义验证+转换,例如

  • 截断超出指定长度的字符串值(例如:在某些情况下截断超过第 25 个字符的字符串,在其他情况下截断超过第 15 个字符)
  • 验证字符串日期字段是否具有格式YYYMMDD并将其转换为yyyy-MM-ddsetter 中格式的日期字段

我如何想出可以使用的自定义注释@interface?我能够找到@Constraint(validatedBy=someclass.class),但似乎没有东西可以转换数据(或者抱歉,如果我看的不够多)。任何关于此的指针都会有所帮助。

4

1 回答 1

0

在 Java 中,您只需在 Jackson 注释对象中使用“转换后的”数据类型,例如:

 private TransformedData data;

然后你用一个反序列化器配置 Jackson,它接受一个字符串并返回一个“TransformedData”对象。当 Jackson 尝试填写您的数据字段时,它会注意到它需要转换并调用您的反序列化器。

于 2016-07-06T11:25:39.957 回答