使用WebMvcConfigurationSupport后导致原来返回的json数据变为了xml的解决方法

问题

未使用WebMvcConfigurationSupport拦截时返回的数据都是JSON格式,使用WebMvcConfigurationSupport做拦截后数据的返回变为了XML的格式。

原因

在Spring框架中,WebMvcConfigurationSupport 是一个类,它可以用于自定义Spring MVC的配置。如果您在应用程序中使用了WebMvcConfigurationSupport,而且之前返回的JSON数据现在变成了XML,那么很可能是由于您在配置中进行了一些变更,导致了默认的消息转换器发生了改变。

默认情况下,Spring使用MappingJackson2HttpMessageConverter作为消息转换器,它可以将Java对象转换为JSON格式的数据。如果您在继承WebMvcConfigurationSupport类时没有明确指定消息转换器,可能会导致Spring使用其他默认的消息转换器,比如Jaxb2RootElementHttpMessageConverter,这个转换器可以将Java对象转换为XML格式的数据。

解决办法

java 复制代码
@Configuration
public class CustomWebMvcConfig extends WebMvcConfigurationSupport {

    @Override
    protected void configureMessageConverters(List<HttpMessageConverter<?>> converters) {
        converters.add(new MappingJackson2HttpMessageConverter());
        super.configureMessageConverters(converters);
    }
}
相关推荐
OxYGC13 小时前
Spring 面经系列 · 第 6 篇:Spring MVC 请求全流程、父子容器与零配置原理
java·spring·mvc
小尹哥-程序员13 小时前
第9集:Spring AI Advisor链:像Spring MVC拦截器一样优雅
人工智能·spring·mvc
紧跟先前的步伐14 小时前
Go AI Agent 实战 11|请求结构、响应结构与 JSON 解析
人工智能·ai·golang·json
9527!到!14 小时前
Springboot @value读取配置参数踩坑&推荐解决方案
java·spring boot·spring
十年Java程序媛14 小时前
Java 面试常问 this、super:构造方法调用顺序避坑
java·开发语言·spring boot·面试·个人开发
萧瑟余晖16 小时前
Spring Data JPA高级特性详解
后端·spring
frjc16 小时前
Spring AI 里 ChatClient 和 ChatModel 有什么区别?什么时候该用哪个?
java·开发语言·spring·ai
麦序子16 小时前
用 pdfplumber + 正则 解析工程量清单 PDF:提取项目编码、综合单价并导出 Excel
xml·pdf·python3.11
Pniubi16 小时前
事务(Spring&MySQL)
数据库·sql·spring
frjc17 小时前
Spring WebFlux SSE 长连接,可以替换为 Java 21 虚拟线程吗?
java·人工智能·spring·ai·ai编程