Projekt musi często używać następującej kombinacji adnotacji Jacksona. Więc, czy jest jakiś sposób, aby utworzyć kolejną notatkę, aby uniknąć brzydkiego kopiowania/wklejania:Utwórz niestandardową adnotację Jacksona
public class A {
@JsonProperty("_id")
@JsonSerialize(using=IdSerializer.class)
@JsonDeserialize(using=IdDeserializer.class)
String id;
}
public class B {
@JsonProperty("_id")
@JsonSerialize(using=IdSerializer.class)
@JsonDeserialize(using=IdDeserializer.class)
String id;
}
public class C {
@CustomId // don't repeat that configuration endlessly
String id;
}
Aktualizacja: Próbowałem to bezskutecznie :-(
@Retention(RetentionPolicy.RUNTIME)
@JacksonAnnotationsInside
@JsonProperty("_id")
@JsonSerialize(using=IdSerializer.class, include=JsonSerialize.Inclusion.NON_NULL)
@JsonDeserialize(using=IdDeserializer.class)
public @interface Id {}
public class D {
@Id
private String id;
}
ja nie rozumiem, może Pan podać przykład, co to będzie wyglądać? Dzięki. –
@yvesamsellem Edytowałem swoją odpowiedź z większym kodem – emory
Ok. To pierwszy ciekawy krok. Masz pomysł na zebranie tylko Serializer & Deserializer? Wielkie dzięki. –