No converter found for return value of type: class com.imooc.result.entity.Perso

1,333 阅读1分钟
  • 现在公司开发Java服务端项目主流的都是SpringBoot,清明节没有事做在家敲一敲SpringMVC,为此总结一下踩的坑
  • 报错信息如下:
05-Apr-2020 12:51:01.346 璀﹀憡 [http-nio-8081-exec-8] org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver.logException Resolved [org.springframework.http.converter.HttpMessageNotWritableException: No converter found for return value of type: class com.imooc.result.entity.Person]

报错相关的项目操作流程

引入jackson架包

<!--fastJson-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-core</artifactId>
            <version>2.9.9</version>
        </dependency>
        <!--fastJson数据绑定-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-databind</artifactId>
            <version>2.9.9</version>
        </dependency>
        <!--fastJson注解模式-->
        <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <version>2.9.9</version>
        </dependency>

实体层

public class Person {
    private String username;
    private int age;

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Person{" +
                "username='" + username + '\'' +
                ", age=" + age +
                '}';
    }
}

控制层

    public Person getPersonMessage(@PathVariable("id") int id) {
        Person person = null;
        if (id == 1) {
            person = new Person();
            person.setAge(12);
            person.setUsername("李四");
        } else if (id == 2) {
            person = new Person();
            person.setAge(13);
            person.setUsername("张三");

        }
        return person;
    }
报错图片如下(路径没有毛病):

  • 看到报错信息傻眼了,我明明加了jackson架包,为啥说不能转化了?
  • 经过一上午的资料查询,终于找到解决方案了,原来SpringBoot写多了,在SpringMVC的时候要把架包导入,如图:

  • 之后在点击OK就可以了
  • 再次启动项目