一、知识点讲解

进入源码:
在这里插入图片描述
可知 @RestController注解相当于@ResponseBody@Controller合在一起的作用

要想明白 @RestController 的作用,首先需要明白@ResponseBody@Controller 的作用。

  • @Controller :将当前修饰的类注入 IOC 容器,使得从该类所在的项目跑起来的过程中,这个类就被实例化。同时也有语义化的作用,即代表该类是充当 Controller 的作用

  • @ResponseBody:它的作用就是指该类中所有的API接口返回的数据,不管你对应的方法返回 Map 或是其他Object,它会以 Json 字符串的形式返回给客户端
    关于@ResponseBody 的具体用法可以参考:学习 ResponseBody 响应 json 数据一篇文章就够了

所以 @RestController注解其实就是将 return 中的内容以 JSON字符串的形式返回客户端

需要注意的是,如果要配合 sping-mvc 的视图解析器使用,也就是如果要返回 html 或者 jsp 时,就只能用 @Controller,因为当@Controller修饰的时候,Spring 才会认为返回的是一个 视图

二、示例讲解

在这里插入图片描述
等同于:
在这里插入图片描述

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐