Избегайте использования Джексона xmlMapper как объекта по умолчанию с SpringMapper - PullRequest
0 голосов
/ 26 ноября 2018

Мне пришлось добавить эту зависимость в мой файл pom.xml, чтобы десериализовать XML-файлы в моем программном обеспечении.

<dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId> </dependency>

Однако теперь он, похоже, используется как объектный макет по умолчаниюSpring (4.1.6) и все остальные ответы, которые явно не задаются как json, возвращаются как xml.

Похоже, что AbstractJackson2HttpMessageConverter идет по неверному пути.

Я пытался форсироватьиспользование сопоставителя объектов по умолчанию, добавив его в app-config.xml, но это ничего не изменило:

<bean name="jacksonMapper" class="com.fasterxml.jackson.databind.ObjectMapper"/>
<bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">
    <property name="messageConverters">
        <list>
            <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
                <property name="objectMapper" ref="jacksonMapper" />
            </bean>
        </list>
    </property>
</bean>

Возможно, мне придется изменить Джексон для xstream, потому что он не расширяет objectMapper и, следовательно, не 'работать с Spring точно так же, но это будет гораздо больше, чем настройка Spring.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...