Spring Boot 中@RestController注解的详解和运用
2025-10-22 15:09 tlnshuju 阅读(72) 评论(0) 收藏 举报Spring Boot 中@RestController注解的详解和使用
1、该注解的作用
@RestController等价于 @Controller + @ResponseBody
@RestController 表明这个类是一个控制器(Controller),并且它的所有方法返回的数据都会直接写入 HTTP
响应体(Response Body)中,而不是跳转到某个视图页面。
2、与 @Controller 的区别
| 注解 | 返回值处理 | 适用场景 |
|---|---|---|
| @Controller | 视图名称(如 “index”)就是返回的 | 会经过视图解析器跳转到对应页面 传统的 Web 应用,返回 HTML 页面 |
| @RestController | JSON/XML 格式就是返回的数据直接作为 HTTP 响应体,通常 | RESTful API,前后端分离架构 |
3、示例:
// 使用 @Controller
@Controller
@RequestMapping("/user")
public class UserController
{
@GetMapping("/page")
public String userPage() {
return "user";
// 返回视图名,会跳转到 user.html 页面
}
@GetMapping("/data")
@ResponseBody // 需要额外添加这个注解才能返回 JSON
public User getUserData() {
return new User("John", 25);
}
}
// 使用 @RestController(等价于 @Controller + @ResponseBody)
@RestController
@RequestMapping("/api/user")
public class UserApiController
{
@GetMapping("/info")
public User getUserInfo(
浙公网安备 33010602011771号