Джексон с аннотацией JaxB - PullRequest
0 голосов
/ 18 ноября 2018

Мне нужна быстрая помощь по Джексону с аннотацией 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

...