Tôi có một lược đồ JSON và một chuỗi json khớp với lược đồ, ngoại trừ nó có thể có thêm một vài trường. Jackson sẽ ném một ngoại lệ nếu những lĩnh vực đó có nếu tôi không thêm objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
. Có cách nào để có được một bộ sưu tập của những lĩnh vực phụ để đăng nhập chúng, ngay cả khi tôi ném một ngoại lệ?Lấy danh sách các trường không xác định từ Jackson
Dưới đây là các bit tương ứng của mã:
public boolean validate(Message<String> json) {
List<String> errorList = jsonSchema.validate(json.getPayload());
ObjectMapper mapper = new ObjectMapper();
try {
Update update = mapper.readValue(json.getPayload(), Update.class);
} catch (IOException e) {
System.out.println("Broken");
}
if(!errorList.isEmpty()) {
LOG.warn("Json message did not match schema: {}", errorList);
}
return true;
}
Sự cố là lớp Cập nhật được tạo tự động, vì vậy mọi thứ tôi thêm vào sẽ bị xóa. Bất kỳ ý tưởng nào khác? – Tavo
@Tavo Mở rộng lớp Cập nhật. –