@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序列化
📝 发现内容有误?点击此处直接编辑