3、Spring MVC控制器常用注解
-
@Controller
标记在类上,表示该类是Spring MVC的controller对象。分发处理器扫描使用该注解标记的类,检测类中的方法是否使用了注解@RequestMapping。该注解只是定义了一个控制器了类,使用@RequestMapping注解的方法才是真正的处理器,完成映射关系。
-
@RestController
该注解的功能等价于@Controller加@ResponseBody,直接返回字符串,用来标注Rest风格的控制器。
-
@RequestMapping
该注解用来处理地址映射,可用在类或者方法上。用在类上,表示所有类中的所有响应请求的方法都已改地址作为父路径。
SpringBoot中更简单的URL映射的方法。如@GetMapping("/")等价于@ReequestMapping(value="/", method=RequestMethod.GET)
- @GetMapping:处理GET请求
- @PostMapping:处理POST请求
- @DeleteMapping:处理删除请求
- @PutMapping:处理修改请求
@RequestMapping注解的6个属性:
-
value:指定请求的地址
-
method:指定请求的method类型——GET(最常用)、HEAD、POST、PUT、PATCH、DELETE、 OPTIONS、TRACE
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-86XDqKW3-1612712043551)(C:\Users\98023\AppData\Roaming\Typora\typora-user-images\image-20210207213328697.png)]
-
consumes:消费消息、指定处理请求的提交内容类型,例如application/json、text/html
-
produces:生产消息、指定返回类型。仅当request请求头中的Accept类型中包含该指定类型是才返回
-
params:指定request中必须包含某些参数才让该方法处理请求
-
headers:指定request中必须包含某些指定的header值才能让该方法处理请求
-
@PathVariable
将请求URL中的模板变量映射到功能处理放法的参数上,即获取URL中的变量作为参数。