多了这个@ResponseBody和没加有什么区别?

做项目中用到,有所疑惑的点

多了这个@ResponseBody和没加有什么区别?

解释

  1. 不加@ResponseBody(默认视图解析)

    • 返回值类型是逻辑视图名(String类型)或 ModelAndView对象
    • 例子
less 复制代码
@Controller
@RequestMapping("/old")
public class OldController {
   @GetMapping("/page")
   public String showPage(Model model) {
       model.addAttribute("message", "Hello World");
       return "page"; // 返回视图名称,由视图解析器解析为/WEB-INF/views/page.jsp
   }
}

结果:Spring会通过视图解析器查找对应的JSP/Thymeleaf等视图模板进行渲染

  1. 加了@ResponseBody(直接写入响应体)
  • 返回值类型:任意类型(自动根据内容协商转换)
less 复制代码
@Controller
@RequestMapping("/api")
public class ApiController {
    @ResponseBody
    @GetMapping("/data")
    public Map<String, Object> getData() {
        return Map.of("status", "success", "code", 200);
    }
}
  • ​结果​​:

    • 自动使用 HttpMessageConverter 进行序列化(JSON/XML 等)
    • 示例响应头:Content-Type: application/json
    • 响应体:{"status":"success","code":200}
相关推荐
bcbnb几秒前
Fiddler配置方法与使用教程:HTTP/HTTPS抓包分析、代理设置与调试技巧详解(开发者实战指南)
后端
Mos_x几秒前
服务器公网IP、私网IP、弹性IP是什么?区别与应
java·后端
JavaArchJourney2 分钟前
分布式锁方案详解
分布式·后端
用户990450177800920 分钟前
程序员只懂技术还远远不够!不懂这点,你可能永远在敲代码
后端·面试
青梅主码23 分钟前
Artificial Analysis 刚刚重磅发布《2025 年第三季度人工智能亮点》报告:中国仅落后美国几个月(附下载)
后端
格格步入29 分钟前
🤔一次 OOM 排查(dump文件分析)
java·后端
nppe634 分钟前
NestJs 从入门到实战项目笔记
前端·后端
蓝-萧36 分钟前
Spring Security安全框架原理与实战
java·后端
SimonKing1 小时前
聊聊Spring里那个不打扰Controller就能统一改响应的“神器”
java·后端·程序员
Moment1 小时前
Soul 发布超强端侧语音模型,没错,就是你想的那个 Soul 😍😍😍
前端·后端·github