Wygląda na to, że Jackson został dostosowany do serializacji pola identyfikatora ciągu w specjalny sposób. To prawdopodobnie część integracji z org.bson
biblioteka.
Problem polega na tym, że twój deserializator jest sparametryzowany przez ObjectId
wpisz zamiast String
lub zwykły Object
. Spróbuj to zmienić w następujący sposób, a także usuń @ObjectId
adnotacja z deklaracji pola. Oto przykład:
public class ObjectIdSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
jsonGen.writeString(value.toString());
}
}
Możesz również rozważyć przyjęcie klasy dostawcy Jackson-Jongo naprawić serializację identyfikatora obiektu dla wszystkich klas.