Polymorphismus in Jackson-Annotationen: Verwendung von @JsonTypeInfo

Ich würde gerne wissen, ob@JsonTypeInfo Anmerkungen können für Schnittstellen verwendet werden. Ich habe eine Reihe von Klassen, die serialisiert und deserialisiert werden sollten.

Folgendes versuche ich zu tun. Ich habe zwei ImplementierungsklassenSub1, Sub2 implementierenMyInt. Einige Modellklassen haben die Schnittstellenreferenz für die Implementierungstypen. Ich möchte die Objekte basierend auf Polymorphismus deserialisieren

@JsonTypeInfo(use=JsonTypeInfo.Id.NAME, include=As.WRAPPER_OBJECT)
@JsonSubTypes({
    @Type(name="sub1", value=Sub1.class), 
    @Type(name="sub2", value=Sub2.class)})
public interface MyInt{
}

@JsonTypeName("sub1")
public Sub1 implements MyInt{
}

@JsonTypeName("sub2")
public Sub2 implements MyInt{
}

Ich bekomme folgendesJsonMappingException:

Unerwartetes Token (END_OBJECT), erwartetes FIELD_NAME: JSON-String mit Typ-ID erforderlich

Antworten auf die Frage(1)

Ihre Antwort auf die Frage