Я пишу API поверх Spring Web MVC/Spring Hateoas, и даже если десериализация простой иерархии классов работает как шарм, мне не удастся десериализовать вход Json для правильного типа с помощью jackson. Вот мой класс иерархии:Наследование и десериализация Джексона
public class A {
protected String fieldA;
}
public class B extends A {
protected String fieldB;
}
public class C extends A {
protected String fieldC;
}
Перед каждый посылает меня на многие другие подобные вопросы на SO, главное отличие в том, что А бетон. Другими словами, Джексон должен выбирать между 3 реализациями, используя json-поля в качестве таймерных выключателей.
В принципе, как я могу настроить Джексон, чтобы он Deserialize:
{
"fieldA": "asdf"
}
к экземпляру А и
{
"fieldA": "asdf",
"fieldB": "asdf"
}
к экземпляру B?