Spring MVC 框架无法找到合适的消息转换器

报错信息如下:

2024-02-02 16:58:29.832 ERROR 15768 --- [nio-8080-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.http.converter.HttpMessageNotWritableException: No converter for [class com.pxl.bg_system.common.Result] with preset Content-Type 'text/plain'] with root cause

问题原因:

Spring MVC 框架无法找到合适的消息转换器来处理 返回Result类型的数据。这可能是因为没有正确配置消息转换器或者没有提供适当的转换器来处理该类型的数据。

在默认情况下,Spring MVC 使用 MappingJackson2HttpMessageConverter 来处理将 Java 对象转换为 JSON 格式的操作。但是,如果你的代码中进行了自定义的配置,并且没有包含适当的转换器,就会导致这个错误。

通过配置 MappingJackson2HttpMessageConverter 并将其添加到消息转换器列表中,你为 Spring MVC 提供了一个可用于序列化 Result 对象的转换器,从而解决了这个问题。

所以只需要配置一个 MappingJackson2HttpMessageConverter 转换器来处理 Result 类型的数据。这个转换器可以将 Java 对象序列化为 JSON 格式,并将其包含在响应体中。

import com.fasterxml.jackson.databind.ObjectMapper;

import org.springframework.http.MediaType;

import org.springframework.http.converter.HttpMessageConverter;

import org.springframework.http.converter.json.MappingJackson2HttpMessageConverter;

import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;

import java.util.List;

@Configuration

public class WebMvcConfig implements WebMvcConfigurer {

@Override

public void configureMessageConverters(List<HttpMessageConverter<?>> converters) {

ObjectMapper objectMapper = new ObjectMapper();

MappingJackson2HttpMessageConverter converter = new MappingJackson2HttpMessageConverter(objectMapper);

converter.setSupportedMediaTypes(List.of(MediaType.APPLICATION_JSON, MediaType.TEXT_PLAIN));

converters.add(converter);

}

}

温馨提示:

一个项目中只会生效一个 继承了 WebMvcConfigurer接口或WebMvcConfiguration类的配置类。

相关推荐
泉-java6 分钟前
第56条:为所有导出的API元素编写文档注释 《Effective Java》
java·开发语言
寄存器漫游者33 分钟前
Linux 软件编程 - IO 编程
linux·运维·spring
zfoo-framework33 分钟前
帧同步和状态同步
java
charlotte1024102436 分钟前
高并发:关于在等待学校教务系统选课时的碎碎念
java·运维·网络
亓才孓41 分钟前
[JDBC]PreparedStatement替代Statement
java·数据库
_F_y1 小时前
C++重点知识总结
java·jvm·c++
打工的小王1 小时前
Spring Boot(三)Spring Boot整合SpringMVC
java·spring boot·后端
毕设源码-赖学姐1 小时前
【开题答辩全过程】以 高校体育场馆管理系统为例,包含答辩的问题和答案
java·spring boot
我真会写代码1 小时前
SSM(指南一)---Maven项目管理从入门到精通|高质量实操指南
java·spring·tomcat·maven·ssm
vx_Biye_Design1 小时前
【关注可免费领取源码】房屋出租系统的设计与实现--毕设附源码40805
java·spring boot·spring·spring cloud·servlet·eclipse·课程设计