用于转换json字段的Java注释

时间:2016-07-06 10:33:35

标签: java json validation annotations data-formatters

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

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

如何使用@interface提供可以执行此操作的自定义注释?我能够找到@Constraint(validatedBy=someclass.class),但似乎没有什么东西可以转换数据(或者对不起,如果我看不够的话)。任何关于此的指针都会有所帮助。

1 个答案:

答案 0 :(得分:0)

在Java中,您只需使用"转换"杰克逊注释对象中的DataType,例如:

 private TransformedData data;

然后使用反序列化器配置Jackson,该反序列化器接受一个字符串并返回一个" TransformedData"宾语。当杰克逊试图填写您的数据字段时,它会注意到它需要转换并调用您的解串器。