Spring中引进了@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping注解来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。
两者的区别
@GetMapping
用于将HTTP GET请求映射到特定处理程序方法的注解,是一个作为快捷方式的组合注解。@GetMapping它其实相当于@RequestMapping(method = RequestMethod.GET)。
@RequestMapping
@RequestMapping的作用是来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.xml中配置的映射作用一致。
我们在映射请求时一般情况下都是使用@RequestMapping(method=RequestMethod.),因为@RequestMapping相当于@GetMapping注解的父类,可以直接替代@GetMapping注解,但是@GetMapping注解不能替代@RequestMapping。
同理@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping也是一样。
总结
@GetMapping等类似注解都可以用@RequestMapping代替,因为人们有时候怕在映射的时候出错,可以统一写成@RequestMapping。但是全用@RequestMapping, 又不便于同事对代码的阅读和理解!建议区分开,这样离职的时候,接手的同事不会梦里提刀砍你O(∩_∩)O