Es sieht so aus, als ob Jackson angepasst wurde, um das Zeichenfolgen-ID-Feld auf besondere Weise zu serialisieren. Das ist wahrscheinlich ein Teil der Integration mit org.bson
Bibliothek.
Das Problem ist, dass Ihr Deserializer durch die ObjectId
parametrisiert wird statt String
eingeben oder einfaches Object
. Versuchen Sie es wie folgt zu ändern und entfernen Sie auch die @ObjectId
Anmerkung aus der Felddeklaration. Hier ist ein Beispiel:
public class ObjectIdSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
jsonGen.writeString(value.toString());
}
}
Sie können auch erwägen, die Jackson-Jongo-Anbieterklasse zu übernehmen um die Objekt-ID-Serialisierung für alle Klassen zu korrigieren.