@ JsonCreator und Mixin via Modul funktionieren nicht für 3rd Party Class

Ich versuche, java.net.HttpCookie zu deserialisieren, das keinen Standard-Konstruktor ohne Argumente hat, und erhalte: org.codehaus.jackson.map.JsonMappingException: Für den Typ [einfacher Typ, Klasse java.net.HttpCookie] wurde kein geeigneter Konstruktor gefunden: Kann keine Instanz aus dem JSON-Objekt erstellen (Typinformationen müssen hinzugefügt / aktiviert werden?) bei [Source: java .io.StringReader @ 5a395674; Zeile: 1, Spalte: 35

Dies ist mit jackson-mapper-asl v 1.9.13

Ich fandJackson 3rd Party Class ohne Standardkonstruktor und haben versucht, ihre Lösung über getDeserializationConfig und using module zu verwenden. Ich präsentiere den Modulcode unten.

abstract class HttpCookieMixIn {
    @JsonCreator
    public HttpCookieMixIn(@JsonProperty("name") String name, @JsonProperty("value") String value) {
        logger.info("Mixin called!");
    }
}

public class MyModule extends SimpleModule {
    public MyModule() {
        super("ModuleName", new Version(0,0,1,null));
    }

    @Override
    public void setupModule(SetupContext context) {
        context.setMixInAnnotations(java.net.HttpCookie.class, HttpCookieMixIn.class);
        logger.info("Set mixin annotation");
    }
}

Im Konstruktor des Server-Endpunkts habe ich Folgendes:

public ServerEndpointConstructor() {
    mapper = new ObjectMapper();
    mapper.registerModule(new MyModule());
}

Ich sehe, dass "Set mixin annotation" vor der Deserialisierungsausnahme in meinen Protokollen protokolliert wird. Ich sehe nicht "Mixin heißt!" (obwohl ich nicht sicher bin, ob der Code im Mixin-Konstruktor aufgerufen werden würde). Kann mir bitte jemand den Fehler auf meine Weise zeigen? Muss ich alle Felder in java.net.HttpCookie mit Anmerkungen versehen?

http: //docs.oracle.com/javase/7/docs/api/java/net/HttpCookie.htm

Antworten auf die Frage(1)

Ihre Antwort auf die Frage