Det ser ut som att Jackson har anpassats för att serialisera sträng-id-fältet på ett speciellt sätt. Det är förmodligen en del av integrationen med org.bson bibliotek.
Problemet är att din deserializer parametriseras av ObjectId typ istället för String eller vanligt Object . Försök att ändra det enligt följande och även ta bort @ObjectId anteckning från fältdeklarationen. Här är ett exempel:
public class ObjectIdSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
jsonGen.writeString(value.toString());
}
}
Du kan också överväga att använda Jackson-Jongo-leverantörsklassen för att fixa serialiseringen av objekt-id för alla klasser.