这三个注解主要用于前后端分离架构中 SpringBoot 接收或者传输特定格式数据,现在重新捋一遍。
1、@ResponseBody
位置:注解在方法头上
作用:将方法的返回值以 json/xml
的数据格式返回给客户端,如果是JavaBean
对象,调用 getxxx()
方法获取属性值,如果是 map
集合,调用 get(key)
方法获取属性值,然后以键值对的方式转成 json字符串
。
@GetMapping(value = "/findById")
//注解在方法头上,返回 json/xml
@ResponseBody
public Result findById(@RequestParam Long id) {
User user = userService.findById(id);
return ResultUtil.success(user);
}
打印结果如下
没有该注解的影响:将返回一个ModelAndView
给客户端,即返回视图,常用的场景是跳转 jsp 页面。