详细介绍@GetMapping和@PostMapping的区别
一、前言
想要了解 @GetMapping 和 @PostMapping 的区别,首先需要了解一下@RequestMapping注解。
了解@RequestMapping注解请点我
二、@GetMapping和@PostMapping的区别
(1)@GetMapping是@RequestMapping(method = RequestMethod.GET)缩写的组合注解,用于将 HTTP 的get 请求映射到特定处理程序的方法注解。
(2)@PostMapping是@RequestMapping(method = RequestMethod.POST)缩写的组合注解,用于将 HTTP 的post 请求映射到特定处理程序的方法注解。
(3)下面来看一看@GetMapping的源码
上图中最为重要的是这行代码:
@RequestMapping( method = {RequestMethod.GET} )
这行代码即说明@GetMapping就是@RequestMapping附加了get请求方法。也就是说@GetMapping就是一个只能用来处理http的get请求的注解,比较专一,只能干这一件事,不像@RequestMapping可以处理多种http的请求.
同时,可以看到@GetMapping这个注解 是spring4.3版本引入,同时引入的还有@PostMapping、@PutMapping、@DeleteMapping和@PatchMapping,一共5个注解。
(4)在一般情况下我们开发可能都是用@RequestMapping(method=RequestMethod.×××),因为@RequestMapping可以直接替代以上两个注解,但是以上两个注解并不能替代@RequestMapping。
类似的组合注解还有上面提到的:@PutMapping、@DeleteMapping、@PatchMapping三个注解。
三、总结
总结一下:@PostMapping、@GetMapping、@PutMapping、@DeleteMapping、@PatchMapping都可以用@RequestMapping代替,如果怕在映射的时候出错,可以统一使用@RequestMapping(method=RequestMethod.×××),当然这样写的话也有弊端,笼统的全用@RequestMapping, 不便于其他人对代码的阅读和理解!还是建议区分开来写,养成良好的代码习惯!
详细介绍@GetMapping和@PostMapping的区别相关推荐
- @RequestMapping 和 @GetMapping 、@PostMapping 的区别(详解)
HTTP请求方法 HTTP请求方法一共有9种,为 GET.POST.HEAD.OPTIONS.PUT.PATCH.DELETE.TRACE.CONNECT. GET [获取资源]本质就是发送一个请求来 ...
- Spring各种注解 @PersistenceContext和@Resource @GetMapping、@PostMapping、@PutMapping、@DeleteMapping
这里记录各种spring注解 @Data@AllArgsConstructor@NoArgsConstructor@Builder @Data 使用这个注解,就不用再去手写Getter,Setter, ...
- VMware网络连接模式—桥接、NAT以及仅主机模式的详细介绍和区别.ziw
2017年1月10日, 星期二 VMware网络连接模式-桥接.NAT以及仅主机模式的详细介绍和区别 在使用VMware Workstation(以下简称:VMware)创建虚拟机的过程中,配置虚拟机 ...
- php div行内块元素,行内元素与块级元素的区别详细介绍
首先,CSS规范规定,每个元素都有display属性,确定该元素的类型,每个元素都有默认的display值,分别为块级(block).行内(inline). 块级元素:(以下列举比较常用的块级元素,详 ...
- VMware网络连接模式—桥接、NAT以及仅主机模式的详细介绍和区别
在使用VMware Workstation(以下简称:VMware)创建虚拟机的过程中,配置虚拟机的网络连接是非常重要的一环,当我们为虚拟机配置网络连接时,我们可以看到如下图所示的几种网络连接模式:桥 ...
- 计算机处理器i5和i7,i5与i7有什么区别 酷睿i5和i7区别汇总【详细介绍】
酷睿i5和i7都是英特尔生产的产品,作为电脑的核心处理器,它们的质量和性能都是非常不错的,目前电脑市场上大多数都是安装了酷睿i5或者i7的机子,可见这两款产品就是主流的电脑中央处理器.不过这两款产品虽 ...
- 一文带你了解Hive【详细介绍】Hive与传统数据库有什么区别?
大家早上好,本人姓吴,如果觉得文章写得还行的话也可以叫我吴老师.欢迎大家跟我一起走进数据分析的世界,一起学习! 感兴趣的朋友可以关注我或者我的数据分析专栏,里面有许多优质的文章跟大家分享哦. 前期回顾 ...
- c语言%.6s和%6s的差别,6s和6的区别有哪些 各方面详细介绍【图文】
苹果 手机大家都听说过吧,它现在是很多年轻人追捧的对象,尤其是对于女性朋友来说,苹果手机是美国的一个手机品牌.在大陆市场非常受欢迎,它的价格虽然高,但是它的销量非常高,目前最为流行的款式就是苹果6S了 ...
- c语言strcpy两字符串长度不同,C语言 strcpy和memcpy区别详细介绍
C语言 strcpy和memcpy区别详细介绍 PS:初学算法,开始刷leetcode,Rotate array的预备知识(写的代码Time Limit Exceed难过)于是百度高效算法,本篇作为预 ...
最新文章
- MATLAB实战系列(二十七)-数据预处理-PCA主成分分析
- Web安全之XSS漏洞
- python基础教程第3章——字符串
- 在Ubuntu为Android硬件抽象层(HAL)模块编写JNI方法提供Java访问硬件服务接口 6...
- python中的while语句怎么居中_python基础之while语句操作
- mysql配置以及性能优化(转)
- 前端学习(2978):上午回顾
- 爬虫、请求库requests
- 淮阴工学院计算机系在哪个校区,2021年淮阴工学院有几个校区,大一新生在哪个校区...
- 【为书豪相亲】单身小姐姐你在哪里,我是书豪,我在等你
- C语言atoi()函数:将字符串转换成int(整数)
- AnyLogic中的代码补全
- Returned object not currently part of this pool
- 两个tplink路由器有线桥接_TP-Link路由器有线方式桥接设置教程
- 51CTO学院三周年
- 马哥教育N63期-第三周作业
- 这-96到底是个什么东西?
- 如何保护前端JS代码?前端js代码加密
- Java猿社区—ShardingSphere之广播表与绑定表
- 一份golang令牌桶攻略(juju/ratelimit)