Как десериализовать в базовый тип, если информация о типе отсутствует в запросе json? - PullRequest
0 голосов
/ 18 мая 2018

Мы застряли с проблемой, когда у нас есть неабстрактный родительский класс с 2 подклассами, как показано ниже.Когда предоставляется информация о типе, процесс десериализации по умолчанию Джексона работает нормально.Но когда информация не предоставляется, поскольку объект запроса имеет базовый класс;сбой процесса десерилизацииинформация о типе отсутствует, поэтому последний запрос json должен быть десериализован в базовый класс, т. е. Автомобиль.

Не могли бы вы помочь нам с этим?Спасибо!

Использование Spring-Boot-Starter-Web: 1.5.2.RELEASE

1 Ответ

0 голосов
/ 18 мая 2018

Вам следует обновить JsonTypeInfo

@JsonTypeInfo(  
        use = JsonTypeInfo.Id.NAME,  
        include = JsonTypeInfo.As.PROPERTY,  
        property = "type",
        defaultImpl = Car.class
)  

Также используйте последнюю версию зависимости Джексона. Надеюсь, это работает.

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