Sepertinya Jackson telah dikustomisasi untuk membuat serial bidang id string dengan cara khusus. Itu mungkin bagian dari integrasi dengan org.bson
Perpustakaan.
Masalahnya adalah deserializer Anda diparametrikan oleh ObjectId
ketik alih-alih String
atau Object
plain biasa . Coba ubah sebagai berikut dan hapus juga @ObjectId
anotasi dari deklarasi lapangan. Ini contohnya:
public class ObjectIdSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
jsonGen.writeString(value.toString());
}
}
Anda juga dapat mempertimbangkan untuk mengadopsi kelas penyedia Jackson-Jongo untuk memperbaiki serialisasi id objek untuk semua kelas.