Parece que Jackson se ha personalizado para serializar el campo de identificación de cadena de una manera especial. Probablemente sea parte de la integración con org.bson
biblioteca.
El problema es que su deserializador está parametrizado por ObjectId
escriba en lugar de String
o simple Object
. Intente cambiarlo de la siguiente manera y también elimine el @ObjectId
anotación de la declaración de campo. Aquí hay un ejemplo:
public class ObjectIdSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
jsonGen.writeString(value.toString());
}
}
También puede considerar adoptar la clase de proveedor Jackson-Jongo para arreglar la serialización de id de objeto para todas las clases.