Да, если вы действительно хотите сохранить все дополнительные / нераспознанные параметры, затем выполните что-то вроде этого:
public class MyBean {
private String field1;
private String field2;
private Integer field3;
private Map <String, Object> unknownParameters ;
public MyBean() {
super();
unknownParameters = new HashMap<String, Object>(16);
}
// Getters & Setters here
// Handle unknown deserialization parameters
@JsonAnySetter
protected void handleUnknown(String key, Object value) {
unknownParameters.put(key, value);
}
}
Чтобы настроить глобальную обработку параметров, вы можете выбрать реализацию реализации DeserializationProblemHandler и зарегистрируйте его глобально с помощью конфигурации ObjectMapper.
DeserializationProblemHandler handler = new MyDeserializationProblemHandler();
ObjectMapper.getDeserializationConfig().addHandler(handler);
Если вы обнаружите, что вы действительно не заботитесь о неизвестных параметрах, то вы можете просто включить ихвыкл.Для каждого класса с @JsonIgnoreProperties (ignoreUnknown = true) или глобально с помощью настройки ObjectMapper:
objectMapper.configure(DeserializationConfig.Feature.FAIL_ON_UNKNOWN_PROPERTIES, false)