一直对@ResponseBody这个注解不是很理解,今天就参观下各位大佬的博客再结合一些资料,总结一下。
1,@ResponseBody的作用:
该注解用于直接返回User对象(当返回POJO对象时,会默认转为json格式数据进行响应)。
这个解释是我的课本上的解释,我个人理解呢,就是:
(1)在不加这个注解的时候返回值通常是字符串,该字符串就是程序要跳转的页面的地址。例:
@RequestMapping(value = "revertForm") public String revertForm(String ids,Cases cases, Model model) { model.addAttribute("ids",ids); return "modules/aj/revertForm"; }
这个是没有@ResponseBody注解的,最终跳转到"modules/aj/revertForm.jsp"这个页面,
(2)在加@ResponseBody这个注解的时候,返回值通常是一个json对象(我接触到的都是json对象,我看网上大佬写的也有返回xml的,总之:他返回的是一个数据,而不是跳转页面的路径)。例:
@ResponseBody @RequiresPermissions("aj:cases:del") @RequestMapping(value = "delete") public AjaxJson delete(Cases cases) { AjaxJson j = new AjaxJson(); casesService.delete(cases); j.setMsg("删除案件成功"); return j; }
这个函数的返回值就是一个AjaxJson对象,