SpringBoot Controller不能返回页面 返回的是字符串
说明
今日在做关于SpringBoot小项目时发现一个问题,当我们发起请求后,想要返回页面时,却一直返回字符串,通过分析最终发现是@RestController和@Controller误用的问题。
效果
代码片段
返回结果
页面接收到了字符返回值。
原因
通过查找资料发现@RestController是将@Controller和@ResponseBody进行了组合,因此返回值的时候将字符串返回到页面上,请看
此时页面效果就是
结论
1、当Controller是存在返回页面的控制器时,不可以使用@RestController
2、当需要同时返回页面和字符串时,需要使用@Controller,在返回字符串的方法上使用@ResponseBody
3、当不需要返回页面时,可以直接使用@RestController来代替@Controller和@ResponseBody,即可直接返回结果