@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping详解

别再混淆了!一文搞懂Spring中@PatchMapping与@PutMapping的核心区别 本文深入解析Spring框架中@PutMapping与@PatchMapping的核心区别。从HTTP协议语义出发,阐明PUT用于完整替换资源(幂等),而PATCH用于部分更新(通常非幂等)。文章结合代码示例与业务场景,指导开发者如何正确选择与实现这两个注解,避免常见误用,从而设计出更专业、健壮的RESTful API。 阅读详情

最近写项目中突然发现有人再controller层写@PostMapping,这对于经常用@RequestMapping的我来说,感到跟奇怪,网上搜寻了一些资料,特在此整合一下:

Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping} 来帮助简化常用的HTTP方法的映射 并更好地表达被注解方法的语义

  1. @GetMapping: 处理get请求,传统的RequestMapping来编写应该是@RequestMapping(value = “/get/{id}”, method = RequestMethod.GET)
    新方法可以简写为:
    @GetMapping("/get/{id}")
  2. @PostMapping: 处理post请求,传统的RequestMapping来编写应该是@RequestMapping(value = “/get/{id}”,method = RequestMethod.POST)
    新方法可以简写为:
    @PostMapping("/get/{id}")
  3. @PutMapping: 和PostMapping作用等同,都是用来向服务器提交信息。如果是添加信息,倾向于用@PostMapping,如果是更新信息,倾向于用@PutMapping。两者差别不是很明显。
  4. @DeleteMapping 删除URL映射,具体没有再实践中用过,不知道好在什么地方
  5. @PatchMapping 至今不知如何用,再什么场景下用。。。有知道的欢迎留言或私信

上面所有的mapping归根到底就是两种请求,即:post和get,Spinrg官方引进众多请求的原因个人感觉是,简化配置。post和get两者的区别如下:
首先,什么情况下是get请求呢:

  1. 直接在浏览器地址栏输入某个地址
  2. 表单默认的提交方式

什么情况下是post请求呢:

  • 设置表单method = “post”
  • ajax type: ‘post’,

浏览器通过url处理的请求为get请求,如果后台限制只能用post请求会发生如下错误:

method not allowed,  The specified HTTP method is not allowed for the requested resource.

get请求特点:
a. 请求参数会添加到请求资源路径的后面,只能添加少量参数(因为请求行只有一行,大约只能存放2K左右的数据)
b. 请求参数会显示在浏览器地址栏,路由器会记录请求地址 (极为的不安全)
c.如果传输中文,必定会乱码(原因:get请求默认编码格式为:IIO-8859-1,后台编码格式一般为:GBK或者UTF-8)
post请求的特点:
a. 请求参数添加到实体内容里面,可以添加大量的参数(也解释了为什么浏览器地址栏不能发送post请求,在地址栏里我们只能填写URL,并不能进入到Http包的实体当中)
b. 相对安全,但是,post请求不会对请求参数进行加密处理(可以使用https协议来保证数据安全)

深入理解 @PatchMapping 注解在 Java Spring 中的作用 使用 @PatchMapping 注解可以方便地指定处理该类型请求的方法,使我们能够针对部分更新的场景进行精确的处理。在上面的示例代码中,我们定义了一个 UserController 类,使用 @PatchMapping 注解来处理部分更新用户信息的请求。@PatchMapping vs. @PostMapping:@PatchMapping 用于更新资源的部分内容,而 @PostMapping 用于创建新的资源。注解的使用方式:这些注解都是通过在处理方法上添加特定的注解来映射请求。 阅读详情

相关推荐

简化REST开发:深入理解Spring的@RestController!有两下子!!

🏆本文收录于《滚雪球学Spring Boot》,专门攻坚指数提升,2025 年国内最系统+最强(更新中)。    本专栏致力打造最硬核 Spring Boot 从零基础到进阶系列学习内容,🚀均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。 如果想快速定位学习,可以看这篇【SpringBoot教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。

**My Coding Family** 1911

@PutMapping、@PatchMapping、@DeleteMapping解析

@PutMapping、@PatchMapping、@DeleteMapping解析

qq_51534363的博客 2万+

FUMA实战:5分钟搞定GWAS数据中的Independent SNPs和Lead SNPs筛选

本文详细介绍了如何使用FUMA平台快速筛选GWAS数据中的Independent SNPs和Lead SNPs。通过解析核心概念、分步实战演示和结果解读,帮助研究人员在5分钟内从海量显著关联位点中提炼出独立且具代表性的遗传信号,为后续功能注释和基因定位奠定高效基础。

weixin_29201859的博客 425

Spring服务注解

Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping} 来帮助简化常用的HTTP方法的映射 并更好地表达被注解方法的语义 1、@GetMapping 对应注解@RequestMapping(value = “/get/{id}”, method = RequestMethod.GET) 作用:对应查询,获得数据,表明是一个查询请求 2、@PostMapping 对应注解@RequestMap.

编写博客,学习交流 2559

CMOS传输门(互补开关)实战指南 | 设计优化 + 常见问题解析

本文深入解析CMOS传输门(互补开关)的设计优化与常见问题,涵盖导通特性、版图设计、高频应用及混合信号设计等关键领域。通过实测数据和优化技巧,帮助工程师解决衬底连接、信号完整性等实际问题,提升数字和模拟混合信号设计的效率与可靠性。

weixin_29229989的博客 161

zynq-7000学习笔记(八)——USB摄像头图像采集

PC平台:WINDOWS 10 64位 Xilinx设计开发套件:Xilinx_vivado_sdk_2015.4 开发板:Zed Board USB摄像头:罗技 C270(720P) linux源码:2016_R1 一、配置linux,支持UVC       如果是中星微的ZC3XX系列的芯片,则要进到GSPCA把ZC3XX的驱动选上

luotong86的专栏 1万+

@RequestMapping、@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping详解

Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping} 来帮助简化常用的HTTP方法的映射 并更好的表达被注解方法的语义 1)@GetMapping: 处理get请求,传统的RequestMapping来编写应该是@RequestMapping(value = "/get/{id}", method = RequestMethod.GET) 新方法可以简写为: @GetMapping("/get/{id

故事的小黄花的博客 2294

手把手教你用STM32F103C8T6单片机,做一个即插即用的USB游戏手柄(附完整代码)

本文详细介绍了如何使用STM32F103C8T6单片机制作即插即用的USB游戏手柄,涵盖硬件搭建、HID协议解析及完整代码实现。通过深入讲解USB HID协议的七大关键描述符,帮助开发者快速掌握嵌入式USB设备开发技巧,打造个性化游戏控制器。

weixin_30887919的博客 439

关于@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping、@RequestMapping的理解

最近写项目中突然发现有人再controller层写@PostMapping,这对于经常用@RequestMapping的我来说,感到跟奇怪,网上搜寻了一些资料,特在此整合一下: Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping} 来帮助简化常用的HTTP方法的映射 并更好地表达被注解方法的语义 @GetMapping: 处理get请求,传统的RequestMapping来编写应该是@RequestM

qiuboshi_的博客 2107

脑机接口中的视觉信号解码:原理、技术与应用

脑机接口中的视觉信号解码:原理、技术与应用​ ,人工智能,计算机视觉,大模型,AI,脑机接口(Brain - Computer Interface,BCI)作为一种革命性的技术,致力于搭建人脑与外部设备之间的直接通信桥梁,绕开传统的神经肌肉输出通路。其核心目标是解读大脑活动产生的信号,从而实现对外部设备的精准控制或信息交互。在众多脑机接口研究方向中,视觉信号解码因其独特的优势和广泛的应用前景,吸引了大量科研人员的关注。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 20万+

Java调用YOLOv26全解析:从ONNX模型部署到工业质检实战

本文分享了工业自动化领域使用Java调用YOLOv26进行零件缺陷检测的完整方案。通过YOLOv26s模型结合ONNX Runtime Java部署,误检率和漏检率显著降低(分别从12%降至2.1%,8%降至0.8%)。文章详细介绍了方案选型理由、环境配置避坑指南、ONNX模型导出步骤,以及Maven依赖配置(分CPU/GPU版本)。该方案直接在上位机Java环境中运行,避免了跨语言调用损耗,适合工业质检场景部署,提供了可复用的性能优化和多线程推理实现。

2601_94871597的博客 1107

Spring 注解面面通 之 @PostMapping、@GetMapping、@PutMapping、@DeleteMapping、@PatchMapping

  @RequestMapping注解可以查看《Spring 注解面面通 之 @RequestMapping》。   @PostMapping、@GetMapping、@PutMapping、@DeleteMapping、@PatchMapping是在@RequestMapping基础进行细化的注解,一般注释方法时,推荐使用这些细化注解,可以更明确地表达映射的Http方法。   注解解析   ① 对应关系。   @PostMapping <–> RequestMethod.POST。   @Ge

键盘上流淌的日子 3711

2026国内Claude Code保姆级教程:安装、避坑、防串台全优化

安装 Claude Code CLI + 切换 npm 国内镜像优先配置固定关闭:自动联网、自动项目扫描VSCode 内置终端直接用,不装多余插件会话隔离+指令约束,彻底解决 Rust、小程序 跨语言串台。

lpfasd123的博客 2541

spring-webmvc @RequestMapping @GetMapping @PostMapping @PutMapping @DeleteMapping @PatchMapping典型用法

仅接受 JSON 格式的请求体。

张紫娃的博客 1108

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

@RequestMapping @PostMapping @PutMapping @DeleteMapping @PatchMapping

@GetMapping用于将HTTP get请求映射到特定处理程序的方法注解 具体来说,@GetMapping是一个组合注解,是@RequestMapping(method = RequestMethod.GET)的缩写。 底层源码 /** * Annotation for mapping HTTP {@code GET} requests onto specific handler * m...

weixin_43343423的博客 834

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

@RequestMapping 变种注解的使用 -- @GetMapping ,@Postmapping ,@PutMapping ,@DeleteMapping @PatchMapping

注解: 了解这些注解之前 先讨论一下 get 和 post 的区别: 最直观的区别就是GET把参数包含在URL中,POST 通过Request Body传递参数。 个人开发过程中查询用GET,其他用POST,写业务的时候 一般没参数用 GET , 有参数用 POST :通过 RequestBody传递参数 首先,什么情况下是 get 请求呢: 直接在浏览器地址栏输入某个地址 表单默认的提交方式 什么...

梁晨le的Blog 1091

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

@GetMapping和@PostMapping 和@RequestMapping区别

@GetMapping 用于将HTTPGET请求映射到特定处理程序方法的注释。 具体来说,@GetMapping是一个作为快捷方式的组合注释@RequestMapping(method = RequestMethod.GET)。 @PostMapping 用于将HTTPPOST请求映射到特定处理程序方法的注释。 具体来说,@PostMapping是一个作为快捷方式的组合注释@Reques...

Mr.Xie的博客 2万+

什么时候用@PostMapping和@GetMapping和@RequestMapping

摘:Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。 ================================= @GetMapping 用于将HTTP GET请求映射到特定处理程序方法的注释。具体来说,@GetMapping是一个作为快捷方式的组合注释 @RequestMapping(method = RequestMe

weixin_47104688的博客 1561

一篇文章带你搞定 @GetMapping、@PostMapping 和 @RequestMapping

Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的 HTTP 方法的映射,并更好地表达被注解方法的语义。 文章目录一、 @GetMapping二、@PostMapping三、@RequestMapping 一、 @GetMapping 用于将 HTTP GET请求映射到特定处理程序方法的注释。具体来说,@GetMapping 是一个作为快捷方式的组合注释 @RequestMappi

南淮北安的博客 1873

@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping

Spring4.3中引进了{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping},来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语义。 以@GetMapping为例,Spring官方文档说: @GetMapping是一个组合注解,是@RequestMapping(method = RequestMetho...

weixin_43925626的博客 4842

@Controller 文件相关 @RequestMapping @PostMapping @PutMapping @DeleteMapping @PatchMapping...

https://blog.youkuaiyun.com/magi1201/article/details/82226289(copy) 最近学习看一些代码,发现对于发送请求这件事,有的地方用@RequestMapping,有的地方用@PostMapping,为了搞清楚区别,特意查了下spring 源代码,现在特此记录下。 @GetMapping用于将HTTP get请求映射到特定处理程序的方法注解...

weixin_30703911的博客 340

springboot --- (java) @GetMapping、@PostMapping和@RequestMapping的区别

@GetMapping、@PostMapping和@RequestMapping的区别 文章目录@GetMapping、@PostMapping和@RequestMapping的区别摘要三者区别@GetMapping@PostMapping@RequestMapping: 摘要 Spring4.3中引进了**{@GetMapping、@PostMapping、@PutMapping、@DeleteMapping、@PatchMapping}**,来帮助简化常用的HTTP方法的映射,并更好地表达被注解方法的语

WX_timi的博客 2238
上一篇: SpringCloud之Eureka服务调用
下一篇: Spring之shiro使用教程
只会debug
博客等级 码龄9年 69粉丝 41原创
评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值