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类的配置类。

相关推荐
叫致寒吧7 小时前
Tomcat详解
java·tomcat
S***267511 小时前
基于SpringBoot和Leaflet的行政区划地图掩膜效果实战
java·spring boot·后端
马剑威(威哥爱编程)11 小时前
鸿蒙6开发视频播放器的屏幕方向适配问题
java·音视频·harmonyos
JIngJaneIL12 小时前
社区互助|社区交易|基于springboot+vue的社区互助交易系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·社区互助
V***u45312 小时前
MS SQL Server partition by 函数实战二 编排考场人员
java·服务器·开发语言
这是程序猿12 小时前
基于java的ssm框架旅游在线平台
java·开发语言·spring boot·spring·旅游·旅游在线平台
i***t91913 小时前
基于SpringBoot和PostGIS的云南与缅甸的千里边境线实战
java·spring boot·spring
k***082913 小时前
【监控】spring actuator源码速读
java·spring boot·spring
麦麦鸡腿堡13 小时前
Java_网络编程_InetAddress类与Socket类
java·服务器·网络
vx_dmxq21113 小时前
【PHP考研互助系统】(免费领源码+演示录像)|可做计算机毕设Java、Python、PHP、小程序APP、C#、爬虫大数据、单片机、文案
java·spring boot·mysql·考研·微信小程序·小程序·php