No converter for [class com.defei.sms.result.Result] with preset Content-Type ‘null‘

错误:没有预设内容类型为“null”的[class com.defei.sms.result.result]的转换器

网上解决办法:

1.Result这个类没有getter\setter方法,在类里添加上该方法或者加lombok的@Data注解在类上

2.说是缺少json转换包,引入以下包

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.12.2</version>
</dependency>

基于以上的解决方法,我都试了,没用。。。。因为我本身是有@Data注解的,也引用了json转换包,虽然是fastjson包。

我报以上错误的真正的原因出在Controller类里:

说明:我的controller类的注解是@Controller

以下是我原方法的写法

@RequestMapping(value = "currentDepartmentWarehouse", produces ={"text/html;charset=UTF-8"})

@ResponseBody

public Result currentDepartmentWarehouse() {

return warehouseService.currentDepartmentWarehouse(); }

正确写法应该是

@RequestMapping(value = "currentDepartmentWarehouse", produces ={"application/json";charset=UTF-8"})

@ResponseBody

public Result currentDepartmentWarehouse() {

return warehouseService.currentDepartmentWarehouse(); }

错误原因:由于方法是引用@ResponseBody注解,表示返回的是字符串,而此时要把@RequestMapping中的produces的值改为application/json才不会报错,如果是text/html则表示跳转到某个页面,前端无法解析为JSON字符串。

 

  • 14
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 7
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值