Я работаю в системе, которая использует Apache Camel и Spring-boot, и я хочу, чтобы мои маршруты возвращали ошибку, если в объект запроса был отправлен неизвестный параметр.
Я знаю, как сделать это с Джексоном напрямую (настройка объекта bean объекта-сопоставителя), но в моем случае маршрут настраивается без возможности передать подходящий пользовательский сопоставитель объектов.
На самом деле, в моем маршруте у меня есть:
from(...)
.unmarshal().json(JsonLibrary.Jackson, MyInputDtoClass.class)
.process(FirstProcessor.BEAN)
.process(SecondProcessor.BEAN)
.to(OtherRoute.ROUTE)
Если я добавлю аннотацию Джексона на мой MyInputDtoClass:
@JsonIgnoreProperties(ignoreUnknown = false)
public class MyInputDtoClass {
...
}
, это все равно позволит запросу быть отмененным, даже если Я добавляю неизвестные параметры в тело запроса. Как заблокировать отправку неизвестных свойств и вернуть ошибку?