今天在学习 SpringBoot 过程中碰到了这个错误。
背景
Controller 层的代码如下所示
@Controller
public class controller {
@GetMapping("hello")
public String hello(){
return "hello";
}
}
访问 localhost:8080/hello 时碰到了这个错误
IDEA报错结果如下
解决
将 Controller 层中的 @Controller 换成 @RestController
原因
具体原因参考https://blog.csdn.net/weixin_44541213/article/details/118110869,
大概就是在@Controller注解中,返回的是字符串,或者是字符串匹配的模板名称,即直接渲染视图,与html页面配合使用的;而 @RestController,返回的应该是一个对象,这时在没有页面的情况下,也能看到返回的是一个对象对应的json字符串,而前端的作用是利用返回的json进行解析渲染页面,java后端的代码比较自由。