Такой вопрос: Resttemplate возвращает responseEntity , которая автоматически десериализуется ObjectMappe (Jackson), в json который приходит есть поля @class: "Object" , стоит следующая задача нужна заменить название класса на своё , каким образом это можно сделать ? Вроде бы есть DefaultTypeResolverBuilder , но он вроде как наоборот собирает json (сериализует) Возможно есть какой-то препроцессор , чтобы перед десериализацией обработать json как string и просто заменить что надо.
Чтобы не повторятся, вот вам статейка Inheritance with Jackson | Beeldung
Если коротко можно делать так:
@JsonTypeInfo(
use = JsonTypeInfo.Id.NAME,
include = JsonTypeInfo.As.PROPERTY,
property = "type") // имя поля, в которое будет записан тип
@JsonSubTypes({
@Type(value = Car.class, name = "car"), // синонимы для типов
@Type(value = Truck.class, name = "truck")
})
public abstract class Vehicle {
// fields, constructors, getters and setters
}
В итоге получим это:
{
"vehicles":
[
{
"type": "car",
"make": "Mercedes-Benz",
"model": "S500",
"seatingCapacity": 5,
"topSpeed": 250.0
},
{
"type": "truck",
"make": "Isuzu",
"model": "NQR",
"payloadCapacity": 7500.0
}
]
}
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости