Het lijkt erop dat Jackson is aangepast om het string-ID-veld op een speciale manier te serialiseren. Dat is waarschijnlijk een onderdeel van de integratie met org.bson
bibliotheek.
Het probleem is dat uw deserializer wordt geparametreerd door de ObjectId
typ in plaats van String
of gewoon Object
. Probeer het als volgt te wijzigen en verwijder ook de @ObjectId
annotatie uit de velddeclaratie. Hier is een voorbeeld:
public class ObjectIdSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
jsonGen.writeString(value.toString());
}
}
U kunt ook overwegen om de Jackson-Jongo-providerklasse over te nemen om de object-id-serialisatie voor alle klassen te repareren.