Преобразование из json в java-объект завершается неудачно. После обновления до версии Джексона 2.9.7 происходит сбой.
@JsonTypeInfo(use = JsonTypeInfo.Id.CLASS, include =
JsonTypeInfo.As.PROPERTY, property = "className")
public class DefaultValidator implements Validator {}
ObjectMapper objectMapper=new ObjectMapper();
objectMapper.configure(SerializationFeature.FAIL_ON_EMPTY_BEANS, false);
objectMapper.configure(SerializationFeature.FAIL_ON_UNWRAPPED_TYPE_IDENTIFIERS, false);
objectMapper.setVisibilityChecker(VisibilityChecker.Std.defaultInstance()
.withFieldVisibility(JsonAutoDetect.Visibility.ANY)
.withGetterVisibility(JsonAutoDetect.Visibility.NONE)
.withCreatorVisibility(JsonAutoDetect.Visibility.NONE));
obj = objectMapper.readValue(jsonBody, clazz);`
UIRowInput {private DefaultValidator rowCommmonValidator;}
Ниже приводится исключение:
Нераспознанное поле "@class" (класс com.fe.core.validator.DefaultValidator), не помеченное как игнорируемое (0 известных свойств:]) в [Source: (StringReader);строка: 1, столбец: 3043] (через цепочку ссылок: com.ui.request.input.UpdateGraphInputRequest ["graphInput"] -> com.model.ui.graph.UIGraphInput ["nodeInputs"] -> java.util.ArrayList[0] -> [com.model.ui.graph.item.node.UINodeInput "nodeInputs"] -> java.util.ArrayList [0] -> com.model.ui.graph.item.node.UINodeInput [»lineItemInputs "] -> java.util.ArrayList [0] -> com.model.ui.graph.item.lineItem.UILineItemInput [" tabInput "] -> com.model.ui.graph.item.lineItem.matrix.UITabInput[ "rowInputs"] -> java.util.ArrayList [0] -> com.model.ui.graph.item.lineItem.matrix.UIRowInput [ "rowCommmonValidator"] -> com.fe.core.validator.DefaultValidator [»@class "])
Спасибо !!