1

在Java中,有没有办法根据注释字段的类型来改变注释的行为?

我知道注释的存在应该通过代码进行测试。不是相反。但情况相当特殊:这是一个 Jackson 2.0 « inside » 注释,它收集注释列表。我们使用它来定义字段名称 ( @JsonProperty) 和字段序列化策略 ( @JsonSerialize)。

序列化策略必须适应带注释的字段。而且,因为我们谈论的是一个框架,所以一个独特的注释远比两个独立的注释要好。

@Retention(RUNTIME)
@JacksonAnnotationsInside.
@JsonProperty("_id")
@JsonSerialize(using=IdSerializer.class)
@JsonDeserialize(using=IdDeserializer.class)
public @interface Id {}

有些情况需要关闭序列化程序,这就是重点。在以下示例中,String必须由反序列化程序处理,ObjectId不要。两者都需要_id@JsonProperty.

public class Car {
    @Id String id
}

public class Bus {
    @Id ObjectId id
}

有什么线索吗?

4

0 回答 0