全部学科
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序列化

📝 发现内容有误?点击此处直接编辑

← 上一篇 请求映射注解
下一篇 → 控制器返回ModelAndView
想查看更多题目和详细解析?
小程序提供完整的题库、模拟考试和详细解析
马上就来

长按或扫描二维码,立即体验

扫码体验小程序
马上就来
使用微信扫描二维码
立即体验完整题库