@RequestMapping和@GetMapping @PostMapping 区别

    最近学习看一些代码,发现对于发送请求这件事,有的地方用@RequestMapping,有的地方用@PostMapping,为了搞清楚区别,特意查了下spring源代码,现在特此记录下。 @GetMapping用于将HTTPget请求映射到特定处理程序的方法注解具体来说,@GetMapping是一个组合注解,是@RequestMapping(method=RequestM…

大家好,又见面了,我是你们的朋友全栈君。

       最近学习看一些代码,发现对于发送请求这件事,有的地方用@RequestMapping,有的地方用@PostMapping,为了搞清楚区别,特意查了下spring 源代码,现在特此记录下。

 @GetMapping用于将HTTP get请求映射到特定处理程序的方法注解
具体来说,@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。

@PostMapping用于将HTTP post请求映射到特定处理程序的方法注解
具体来说,@PostMapping是一个组合注解,是@RequestMapping(method = RequestMethod.POST)的缩写。

下面我们来看下@GetMapping的源码,可以对上面的两句释义给予充分的支撑。

/**
 * Annotation for mapping HTTP {@code GET} requests onto specific handler
 * methods.
 *
 * <p>Specifically, {@code @GetMapping} is a <em>composed annotation</em> that
 * acts as a shortcut for {@code @RequestMapping(method = RequestMethod.GET)}.
 *
 *
 * @author Sam Brannen
 * @since 4.3
 * @see PostMapping
 * @see PutMapping
 * @see DeleteMapping
 * @see PatchMapping
 * @see RequestMapping
 */
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
@RequestMapping(method = RequestMethod.GET)
public @interface GetMapping {

	/**
	 * Alias for {@link RequestMapping#name}.
	 */
	@AliasFor(annotation = RequestMapping.class)
	String name() default "";

    ...

}

上面代码中,最关键的是 @RequestMapping(method = RequestMethod.GET),这行代码即说明@GetMapping就是@RequestMapping附加了请求方法。同时,可以看到@GetMapping这个注解 是spring4.3版本引入,同时引入的还有@PostMapping、@PutMapping、@DeleteMapping和@PatchMapping,一共5个注解。

所以,一般情况下用@RequestMapping(method = RequestMethod. XXXX)即可。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/126198.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 跨域问题:解决跨域的三种方案

    跨域问题:解决跨域的三种方案

    2021年6月20日
    139
  • 国产linux操作系统深度系统20.3发布(推荐)

    国产linux操作系统深度系统20.3发布(推荐)深度操作系统(deepin)是一个致力于为全球用户提供美观易用、安全稳定服务的Linux发行版,同时也一直是排名最高的来自中国团队研发的Linux发行版。(了解deepin国际排名)深度操作系统20.3,升级Stable内核到5.15版本,进一步提升兼容性。修复系统安全漏洞,增强安全性。部分深度应用新增及优化常用功能,满足不同场景下的使用需求。针对桌面环境部分问题修复及优化,只为带来更好体验。更强大的内核版本Stable内核升级到5.15版本,增强对Intel12代U和NTFS文件系统的支

    2022年5月16日
    45
  • pycharm2021专业版永久激活码【在线注册码/序列号/破解码】

    pycharm2021专业版永久激活码【在线注册码/序列号/破解码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    82
  • Java—Sort排序

    Java—Sort排序Java中Sort排序是非常常用的方法,这一章我们主要来认识一下Sort的用法和相关的实现。一、数组Sort排序升序排序,直接使用Arrays.Sort方法,例如:int[]array={10,3,6,1,4,5,9};//正序排序Arrays.sort(array);//会检查数组个数大于286且连续性好就使用归并排序,若小于47使用插入排序,其余情况使用双轴快速排序Sy…

    2022年7月12日
    22
  • php实现 提取不重复的整数(编程题目能够最快的熟悉函数)

    php实现 提取不重复的整数(编程题目能够最快的熟悉函数)

    2021年6月7日
    92
  • 监控安装原理图解

    监控安装原理图解一、关于摄像机1、根据工作原理可分为数字摄像机和模拟摄像机,数字摄像机是通过双绞线传输压缩的数字视频信号,模拟摄像机是通过同轴电缆传输模拟信号。数字摄像机与模拟摄像机的区别出来传输方式之外还有清晰度,数字摄像机像素可达到百万高清效果。2、根据摄像机外观可分为枪机,半球,球机等。枪机多用于户外,对防水防尘等级要求较高;半球多用于室内,一般镜头较小,可视范围广;球机主要功能可以360度无死角

    2022年5月2日
    115

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号