@RestController和@Controller的区别

来源:互联网 发布:录像后期制作软件 编辑:程序博客网 时间:2024/06/08 18:28

今天在学习使用Spring Boot的Thymeleaf模板时,遇到了一个问题:本想要跳转到指定的页面,结果显示的确实return的返回值:
最初的代码
页面显示结果
看到这个之后,纳闷了很久,也许是本人比较“菜”吧,没有想到原因,于是上网查了一下,说是不能使用@RestController:
这里写图片描述
于是乎,就有了这篇博客^_^
@Controller和@RestController的区别主要有以下几点:
1. @RestController相当于@Controller和@ResponseBody合在一起的作用;
2. 如果使用@RestController注解Controller层的话,则返回的是return里面的内容,无法返回到指定的页面,配置的视图解析器InternalResourceViewResolver也就自然没有作用了;
3. 如果要返回到指定的页面,则需要用@Controller配合视图解析器InternalResourceViewResolver;
4. 如果需要返回JSON、XML或自定义mediaType内容到页面,则需要在对应的方法上加上@ResponseBody注解。
这里写图片描述
修改过后的代码
最终的页面效果图
@Controller和@RestController的主要区别就这么多了,有不对的地方,还请大神多多指教!!!

原创粉丝点击