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

相关推荐
safestar201215 分钟前
ES批量写入性能调优:BulkProcessor 参数详解与实战案例
java·大数据·运维·jenkins
还在忙碌的吴小二22 分钟前
Harness 最佳实践:Java Spring Boot 项目落地 OpenSpec + Claude Code
java·开发语言·spring boot·后端·spring
风吹迎面入袖凉22 分钟前
【Redis】Redis的五种核心数据类型详解
java·redis
夕除29 分钟前
javaweb--02
java·tomcat
ailvyuanj34 分钟前
2026年Java AI开发实战:Spring AI完全指南
java
张np1 小时前
java进阶-Dubbo
java·dubbo
汽车仪器仪表相关领域1 小时前
NHFID-1000型非甲烷总烃分析仪:技术破局,重构固定污染源监测新体验
java·大数据·网络·人工智能·单元测试·可用性测试·安全性测试
一叶飘零_sweeeet1 小时前
深入理解 AQS:从架构到实现,解锁 Java 并发编程的核心密钥
java·aqs
一叶飘零_sweeeet1 小时前
深入拆解 Java CAS:从底层原理到 ABA 问题实战
java·cas·并发编程
StackNoOverflow1 小时前
Spring Security权限控制框架详解
java·数据库·sql