• 详细介绍@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, 不便于其他人对代码的阅读和理解!还是建议区分开来写,养成良好的代码习惯!

  • 相关阅读:
    [学习笔记]ARXML - Data Format
    LeetCode 每日一题——1668. 最大重复子字符串
    南昌云宸网络发展有限公司-小分类客户可自选
    Qt菜单栏-工具栏-状态栏
    【Arduino+ESP32专题】串口的简单使用
    算法与数据结构 --- 线性表 --- 顺序表示和实现
    一文解码语言模型:语言模型的原理、实战与评估
    【leetcode】重排链表
    Centos7查看大文件(实用的)
    我的创作纪念日
  • 原文地址:https://blog.csdn.net/m0_51358164/article/details/125995424