Проблема с сериализацией атрибута сопоставления XML Jackson

У меня есть следующий аннотированный класс (сериализованный в тег <tours>):

@XmlAccessorType(XmlAccessType.FIELD)
@XmlType(
    name = "Tour",
    propOrder = {"restrictions", "result", "wrappedTourPoints"}
)
@JsonTypeInfo(
    use = Id.NAME,
    include = As.PROPERTY,
    property = "$type",
    defaultImpl = Tour.class
)
@JsonInclude(Include.NON_NULL)
public class Tour extends AbstractTour {...}

Мой компонент XmlMapper:

@Bean
public XmlMapper xmlMapper() {
    JacksonXmlModule module = new JacksonXmlModule();
    module.setDefaultUseWrapper(false);
    XmlMapper xmlMapper = new XmlMapper(module);
    xmlMapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
    return xmlMapper;
}

После сериализации экземпляра этого класса в XML с помощью этого преобразователя (com.fasterxml.jackson.dataformat.xml.XmlMapper) я получаю следующий XML

<TripOptimisationResponse>
    <tourResponses>
        <plan>
            <chains>
                <vehicleId>0</vehicleId>
                <tours
                .type = "Tour">
                <startTimeFixed>false</startTimeFixed>
                <id>0</id>
                <tourPointFixation>NONE</tourPointFixation>
                <vehicleFixed>false</vehicleFixed>
                <ignoreIntermediatePeriodOfPreviousTour>false</ignoreIntermediatePeriodOfPreviousTour>
            </tours>
        </chains>
    </plan>
</tourResponses></TripOptimisationResponse>

где вы можете найти атрибут .тип.

У меня вопрос, можем ли мы изменить .тип на тип (без точки)?
Или мы можем просто пропустить все атрибуты в результирующем XML?

Вы пробовали property = "type"?

Pavel Molchanov 26.06.2018 05:29

@PavelMolchanov, у меня нет разрешения изменять код класса

Vladyslav Nikolaiev 26.06.2018 08:50
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
271
0

Другие вопросы по теме