@RestController与@Controller

@RestController被称为一个构造型(stereotype)注解。它为阅读代码的开发人员提供建议。对于Spring,该类扮演了一个特殊角色。它继承自@Controller注解。4.0之前的版本,spring MVC的组件都使用@Controller来标识当前类是一个控制器servlet。

使用这个特性,我们可以开发REST服务的时候不需要使用@Controller而专门的@RestController。

 

上述语言官方化的介绍,简单点说就是   @RestController是@Controller和@@ResponseBody相结合的产物;

@RestController:Spring4之后加入的注解,原来在@Controller中返回json需要@ResponseBody来配合,如果直接用@RestController替代@Controller就不需要再配置@ResponseBody,默认返回json格式。

 

 

@RestController注解告诉Spring以字符串的形式渲染结果,并直接返回给调用者。该注解有六个属性:

params:指定request中必须包含某些参数值是,才让该方法处理。

headers:指定request中必须包含某些指定的header值,才能让该方法处理请求。

value:指定请求的实际地址,指定的地址可以是URI Template 模式。

method:指定请求的method类型, GET、POST、PUT、DELETE等。

consumes:指定处理请求的提交内容类型(Content-Type),如application/json,text/html。

produces:指定返回的内容类型,仅当request请求头中的(Accept)类型中包含该指定类型才返回。

posted @ 2018-03-17 15:42  cyzcreat  阅读(278)  评论(0)    收藏  举报