ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Spring Boot 中@RestController注解的详解和运用

Spring Boot 中@RestController注解的详解和运用

Spring Boot 中@RestController注解的详解和运用

2025-10-22 15:09  tlnshuju  阅读(0)  评论(0)    收藏  举报

Spring Boot 中@RestController注解的详解和使用

  • 1、这个注解的作用
  • 2、与 @Controller 的区别
  • 3、示例:
  • 4、 常见应用场景
    • 4.1、返回 JSON 数据(最常用)
    • 4.2、返回各种数据类型
  • 5、工作原理
    • 5.1、请求映射:
    • 5.2、参数绑定:
    • 5.3、途径执行:
    • 5.4、返回值处理:
    • 5.5、HTTP 响应:
  • 6、工作原理

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(
返回列表