Spring接口返回对象报错,No converter found for return value of type

在SpringBoot项目中,加入拦截器后出现返回对象时报错"No converter found for return value of type"。常规解决方案如检查Jackson依赖、POJO的get set方法、@RestController注解等并未解决问题。其实,错误根源在于拦截器配置继承了WebMvcConfigurationSupport。由于其@ConditionalOnMissingBean注解,只有当容器中没有此组件时才会启动自动配置。为解决此问题,应将拦截器配置改为实现WebMvcConfigurer接口。
摘要由CSDN通过智能技术生成

正常的SpringBoot项目接口,返回对象或者JSON都是正常,但是加入拦截器后,惊奇的发现只能返回String,返回对象就报 “No converter found for return value of type”,解析器无法转换对象的问题。

网上找了好多解答都是以下几种:

1、缺失Jackson 依赖,如果有 spring-boot-starter-web依赖可排除该问题

2、是否是 POJO (get set 方法是否有)

注释:我使用lombok插件,用@Data注解,所以不可能是这个问题导致的。

3、接口是否有@RestController注解

以上的解决方案都不对,罪魁祸首是拦截器的问题!!!

原本拦截器配置使用的是继承 WebMvcConfigurationSupport导致的。

我原本的拦截器是这样的:

@Configuration
public class InterceptorConfig extends WebMvcConfigurationSupport {
}

WebMvcConfigurationSupport在springMvc源码中有相关注解

@Configuration
@ConditionalOnWebApplication(type = Type.SERVLET)
@ConditionalOnClass({ Servlet.class, DispatcherServlet.class, WebMvcConfig
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值