@RestController和@Controller的区别与作用
在springMvc中controller层类上的要使用@Controller来注明该类属于控制层,在controller层常返回的数据形式有以下几种:
页面:静态页面
ModelAndView:返回页面和相应数据
json字符串:如果某个类设计初衷就是返回json字符串,那么该类就可以使用@Controller + @ResponseBody
,还可以使@RestCotroller
简化书写
@RestCotroller源码
从上面的源码中可以清晰的看到@RestController = @Controller + @ResponseBody
使用@Controller
修饰类,可以根据需要返回各种我们所需的数据(json(方法上使用@ResponseBod),ModelAndView,静态页面),而使用RestController
修饰类,最后返回结果都会被解析成json字符串,适合所有的方法返回值都是json数据