【发布时间】:2014-01-23 08:14:10
【问题描述】:
在我当前的项目中,我有这组大而复杂的注释,我必须在我的班级周围的很多领域中放置。它们是 Jackson json 注释。
@JsonSerialize(using = IViewableToReferenceSerializer.class, contentUsing = IViewableToReferenceSerializer.class)
private ComplexeObject myObject;
我想将其替换为:
@JsonAsReference
private ComplexeObject myObject;
我已经在没有自定义注释的情况下测试了系统,它工作正常。我虽然可以将我的注释定义为(例如):
@Target({ElementType.METHOD, ElementType.FIELD})
@Retention(RetentionPolicy.RUNTIME)
@JsonSerialize(using = IViewableToReferenceSerializer.class, contentUsing = IViewableToReferenceSerializer.class)
public @interface JsonAsReference {
}
所以我的问题是:这有可能吗?还是我只是做错了什么?
更新:我在这个帖子中找到了杰克逊案例的答案 Create a custom Jackson annotation
但我愿意接受任何一般的案例解决方案。
【问题讨论】:
-
在此线程 stackoverflow.com/questions/12921812/… 中找到了 Jackson json 的答案 ...但我对一般答案感兴趣。
标签: java annotations