spring boot Controller 和 RestController 的区别
spring boot Controller 和 RestController 的区别
5.3.1常用注解
Spring MVC控制器中常使用的注解有如下几种。
- @Controller
@Controller 标记在类上。使用@Controller 标记的类表示是Spring MVC的Controller对象。分发处理器将会扫描使用了该注解的类,并检测其中的方法是否使用了注解@RequestMapping。注解@Controller 只是定义了一个控制器类,使用了注解@RequestMapping的方法才是真正处理请求的处理器,完成映射关系。 - @RestController
@RestController 是Spring 4.0之后才有的注解。它等价于原来的注解@Controller 加上注解@ResponseBody的功能,直接返回字符串。用它来标注 Rest 风格的控制器类。 - @RequestMapping
它用来处理请求地址映射的注解,可用在类或方法上。如果用在类上,则表示类中的所有响应请求的方法都以该地址作为父路径。
RequestMapping注解有6个属性。
value:指定请求的地址。
method:指定请求的method 类型——GET、HEAD、POST、PUT、PATCH、DELETE、
OPTIONS、TRACE。
consumes:消费消息,指定处理请求的提交内容类型(Content-Type),例如
application/json、text/html。