Нераспознанное поле "className", @JsonTypeInfo - PullRequest
0 голосов
/ 28 сентября 2018

Преобразование из 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 "])

Спасибо !!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...