前言
小编最近在回顾SpringBoot+Mybatis,写了一个小demo,然后遇到了一个很烦恼的问题,在这里和大家分享一下
一、发现问题?
当我把controller到mapper都写好之后在浏览器调用接口时出现404
二、找原因
于是我将404页面上的代码复制,百度上给了我三种解决方案。
一、IDEA目录结构的问题,Application启动类的位置不对.要将Application类放在最外侧,即包含所有子包 。
二、在启动类上添加@SpringBootApplication(scanBasePackages=“controller”)
三、在springboot的配置文件:application.yml或application.properties中关于视图解析器的配置问题:
当pom文件下的spring-boot-starter-paren版本高时使用:
spring.mvc.view.prefix/spring.mvc.view.suffix
当pom文件下的spring-boot-starter-paren版本低时使用:
spring.view.prefix/spring.view.suffix
小编一一尝试,然而并没有什么卵用,因为我debug是能够进入我的程序的
最后发现小编的Controller上面的注解是@Controller,真是学如逆水行舟,不进则退
总结
@Controller会将你返回的结果解析成视图在后面加上.jsp所以会报出404,而@RestController是@Controller 和@ResponseBody组合的效果,会将你返回的结果解析为字符串返回。