Ho uno schema JSON e una stringa JSON che corrisponde allo schema, tranne che potrebbe avere alcuni campi aggiuntivi. Jackson farà un'eccezione se quei campi ci sono se non aggiungo objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false);
. C'è un modo per ottenere una collezione di quei campi aggiuntivi per registrarli, anche se lancio un'eccezione?Ottenere l'elenco dei campi sconosciuti da Jackson
Ecco il bit rilevante del codice:
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;
}
Il problema è che la classe Aggiorna viene generata automaticamente, quindi tutto ciò che aggiungo ad esso verrà cancellato. Altre idee? – Tavo
@Tavo Estendere la classe di aggiornamento. –