Det ser ud til, at Jackson er blevet tilpasset til at serialisere string-id-feltet på en særlig måde. Det er sandsynligvis en del af integrationen med org.bson
bibliotek.
Problemet er, at din deserializer er parametriseret af ObjectId
type i stedet for String
eller almindeligt Object
. Prøv at ændre det som følger og fjern også @ObjectId
anmærkning fra feltdeklarationen. Her er et eksempel:
public class ObjectIdSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
jsonGen.writeString(value.toString());
}
}
Du kan også overveje at adoptere Jackson-Jongo-udbyderklassen for at rette objekt-id-serialiseringen for alle klasserne.