Мне нужна быстрая помощь по Джексону с аннотацией JaxB.
У меня есть устаревший код, где у нас есть класс POJO с определенной аннотацией JaxB
Class A implements Serializable {@XmlElementRef(name = "specificInfo",
namespace = "http://www.xx.xx.xx.com/v1",
type = JAXBElement.class
)
protected JAXBElement<? extends SpecificInfo> SpecificInfo; }
Существует несколько расширений классов SpecificInfo
Класс A расширяет SpecificInfo
Класс B расширяет SpecificInfo
Все работает с JAXB.Теперь я хотел бы использовать библиотеку Джексона для преобразования xml в java.
Как я могу обрабатывать наследование и десериализовать запрос без изменения устаревшего кода?
JacksonXmlModule xmlModule = new JacksonXmlModule();
xmlModule.setDefaultUseWrapper(false);
xmlModule.setDeserializers();
XmlMapper objectMapper = new XmlMapper(xmlModule);
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
objectMapper.registerModule(new JodaModule());
objectMapper.registerModule(new JAXBElementModule());
XmlJaxbAnnotationIntrospector jaxbAnnotationIntrospector = new XmlJaxbAnnotationIntrospector(objectMapper.getTypeFactory());
objectMapper.registerModule(new JaxbAnnotationModule(jaxbAnnotationIntrospector));
JAXBElementModule - Пользовательский класс -
https://github.com/venicegeo/pz-wps/blob/master/pizza_wps_2_0/src/main/java/wps/test/JAXBElementModule.java