@ResponseBody 的作用¶
一、作用¶
把方法返回值直接写入 HTTP 响应体,而不是走视图解析。
二、普通返回视图¶
@Controller
public class MyController {
@GetMapping("/page")
public String page() {
return "index"; // ViewResolver 解析成 index.html
}
}
三、加 @ResponseBody¶
返回 JSON:
四、返回对象怎么变成 JSON¶
HttpMessageConverter: - MappingJackson2HttpMessageConverter 用 Jackson 把对象序列化成 JSON。 - 根据请求头 Accept 决定格式。
五、返回类型¶
- 普通对象 → JSON。
- String → 纯文本。
- byte[] → 二进制。
- ResponseEntity → 自定义状态码和头。
六、@RestController¶
类上加 @RestController,所有方法自动带 @ResponseBody。
对比
@RequestBody:把请求体 JSON 转成对象。 @ResponseBody:把返回对象转成 JSON。