全部学科
Python全栈
python
NodeJS全栈
nodejs
📅 2026-05-18 6 分钟 ✍️ juanwangdev

@ResponseBody返回JSON

@ResponseBody注解将方法返回值转换为JSON格式写入响应体,无需视图解析。

基本用法

注解位置

Java
@Controller
public class UserController {

    @RequestMapping("/user")
    @ResponseBody
    public User getUser() {
        User user = new User();
        user.setId(1);
        user.setName("张三");
        return user;
    }
}

返回集合

Java
@RequestMapping("/list")
@ResponseBody
public List<User> getUserList() {
    List<User> list = new ArrayList<>();
    list.add(new User(1, "张三"));
    list.add(new User(2, "李四"));
    return list;
}

RestController组合

@RestController = @Controller + @ResponseBody

Java
@RestController
@RequestMapping("/api")
public class ApiController {

    @GetMapping("/user/{id}")
    public User getUser(@PathVariable Integer id) {
        return userService.findById(id);
    }
}

配置依赖

需要Jackson依赖支持JSON转换:

XML
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.15.0</version>
</dependency>

SpringMVC默认使用Jackson进行JSON转换,确保项目中包含相关依赖。

要点总结

  • @ResponseBody:将返回值写入响应体,跳过视图解析
  • @RestController:类级别注解,相当于@Controller + @ResponseBody
  • 需要Jackson依赖支持JSON序列化
想在手机上练习这篇文章的配套题目?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码
← 上一篇 转发与重定向
下一篇 → 数据响应Model、ModelMap、Map
扫码体验小程序
加载中
想在手机上刷题学习?
使用微信卷王开发者小程序,打开首页顶部扫码功能识别二维码