Изглежда, че Джаксън е персонализиран да сериализира полето за идентификатор на низ по специален начин. Това вероятно е част от интеграцията с org.bson
библиотека.
Проблемът е, че вашият десериализатор е параметризиран от ObjectId
въведете вместо String
или обикновен Object
. Опитайте да го промените по следния начин и също така премахнете @ObjectId
анотация от декларацията на полето. Ето един пример:
public class ObjectIdSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
jsonGen.writeString(value.toString());
}
}
Можете също да обмислите приемането на класа на доставчик на Jackson-Jongo за коригиране на сериализацията на идентификатора на обекта за всички класове.