@RestController与@Controller区别

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u013213157/article/details/74506814

@RestController是@ResponseBody + @Controller合体,当你在这个controller中方法只是想返回一个页面时,就不能用@RestController,因为它会把你的返回值当作数据返回,而不是页面名字,所以这时候就只能用@Controller。

如:

@RestController
public class HomeController {

 @RequestMapping("/")
 public String index(Model model){
  Msg msg =  new Msg("测试标题","测试内容","额外信息,只对管理员显示");
  model.addAttribute("msg", msg);
  return "home";//home.html
 }
}
此时并不会返回到home.html页面,而是直接在当前页面输出home字符串。
总之一句话,返回页面用@Controller,要想返回数据就用@RestController,这个注解对于返回数据比较方便,因为它会自动将对象实体转换为JSON格式。

展开阅读全文

没有更多推荐了,返回首页