@Controller
@Controller是最普通的Spring MVC中的Controller标注形式。
在一个类上标注@Controller后,该方法将被当作一个Controller装配到Spring的web上下文中。
该类中的处理方法可以使用@RequestMapping标注。并且这些方法通常返回一个String,或者ModelAndView对象,用于与InternalResourceViewResolver配合来定位到具体的视图。这是前后端不分离的视图渲染做法。
若该方法要返回一个String类型的JSON对象,则该方法上需要标注@ResponseBody。
@RestController
@RestController可以理解成@Controller与@ResponseBody结合。
它只用来标注Restful风格的Controller。这些Controller类会直接返回JSON,XML等。这样做法是前后端分离的常用做法。
另外在Restful风格中,我们还经常使用到@PathVariable注解,用来获取路径中的关于资源的信息。

本文详细介绍了SpringMVC中的@Controller与@RestController注解的区别及用法。前者用于标记一个类为控制器,处理方法通常返回视图名称;后者则结合了@Controller与@ResponseBody的功能,适用于返回JSON或XML数据的RESTful风格控制器。
787

被折叠的 条评论
为什么被折叠?



