最近写了一个模块后进行测试,发现返回逻辑视图名时,老是会出现如图二所示的错误,本应该返回该模块的主页面呢,却返回了一个字符串,检查了很久,也查询了很多相关的资料。并没有发现问题出在哪里,百思不得其解。最终发现在controller上使用@RestController注解,将其改为@Controller之后,问题才得以解决。
究其原因是:@RestController是@ResponseBody + @Controller合体,当你在这个controller中方法只是想返回一个页面时,就不能用@RestController,因为它会把你的返回值当作数据返回,而不会将其解析成相应的视图。所以这时候就只能用@Controller。