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转换包,引入以下包


    com.fasterxml.jackson.core
    jackson-core
    2.12.2

基于以上的解决方法,我都试了,没用。。。。因为我本身是有@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字符串。

你可能感兴趣的:(java开发,java)