Reputation: 51
It seems that this use case is not supported:
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "type")
@JsonSubTypes({
@JsonSubTypes.Type(value=B1.class, name="b1"),
@JsonSubTypes.Type(value=B2.class, name="b2")
})
public abstract class A {
...
}
public class B1 extends A {
...
}
@JsonTypeInfo(use = JsonTypeInfo.Id.NAME, property = "subtype")
@JsonSubTypes({
@JsonSubTypes.Type(value=C1.class, name="c1"),
@JsonSubTypes.Type(value=C2.class, name="c2")
})
public abstract class B2 extends A {
...
}
public class C1 extends B2 {
...
}
public class C2 extends B2 {
...
}
What I want is to resolve this one: { "type": "b1"; ... } to class B1, and { "type": "b2"; "subtype": "c1"; ... } to class C1 and { "type": "b2"; "subtype": "c2"; ... } to class C2. Any suggestions?
Upvotes: 5
Views: 2701