@RestController
@RestController
是 Spring Framework 中的一个注解,主要用于标识一个类是 RESTful 服务的控制器(Controller)。在 Spring MVC 中,通常使用 @Controller
注解来定义控制器类,而 @RestController
是 @Controller
的一个特殊版本,它结合了 @Controller
和 @ResponseBody
注解的功能。
具体来说,@RestController
注解用于标识一个类是 RESTful 服务的控制器,其作用相当于 @Controller
+ @ResponseBody
的组合。这意味着使用 @RestController
注解标识的类中的方法返回的数据会直接写入 HTTP 响应体中,而不会经过视图解析器进行渲染。
基本上,如果一个 Spring MVC 控制器类主要用于返回 JSON/XML 等数据格式的 RESTful 服务,就应该使用 @RestController
注解来标识这个类,以确保返回的数据直接写入 HTTP 响应体中。
示例代码如下:
javaCopy Code
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String sayHello() {
return "Hello, World!";
}
}
在上面的示例中,HelloController
类使用 @RestController
注解标识,在 sayHello()
方法上使用 @GetMapping
注解来处理 GET 请求,并返回一个字符串。由于类被标记为 @RestController
,返回的字符串会直接作为 HTTP 响应的内容返回给客户端,而不会经过视图解析器进行渲染。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步