Có vẻ như Jackson đã được tùy chỉnh để tuần tự hóa trường id chuỗi theo một cách đặc biệt. Đó có thể là một phần của quá trình tích hợp với org.bson
thư viện.
Vấn đề là bộ giải mã của bạn được tham số hóa bởi ObjectId
gõ thay vì String
hoặc Object
đơn giản . Hãy thử thay đổi nó như sau và cũng xóa @ObjectId
chú thích từ khai báo trường. Đây là một ví dụ:
public class ObjectIdSerializer extends JsonSerializer<Object> {
@Override
public void serialize(Object value, JsonGenerator jsonGen,SerializerProvider provider) throws IOException {
jsonGen.writeString(value.toString());
}
}
Bạn cũng có thể cân nhắc áp dụng lớp nhà cung cấp Jackson-Jongo để sửa lỗi tuần tự hóa id đối tượng cho tất cả các lớp.