@PostMapping和@GetMapping的区别

这两个注解用了很久了,一直没有认真的了解过,单纯的就认为,

前端用get请求,我就用getmapping,或者后端对于数据的增加的时候就用postmapping,

上周的时候,修改一个接口,后端是postmapping,前端说传参了,但是我这边没有收到。

前端浏览器中确实可以看到传来了参数,但是后端没有接到。

后来得知前端用的是get请求调用的接口,

本以为后端会报405错误,但是后端却是因为没收到参数而报的确是空指针异常。

研究了一下,原来这两个注解不单单是我理解的那样。

这两个注解除了接受的请求方式不同,由于请求方式的不同接收参数的方式也不同。

前端用了get方式请求后端的postmapping注解的方法,然后get请求参数放在了url中,也就是请求头中,而postmapping接收请求后,是在请求体中去找参数,所以没有收到。报了错误。

以下是找到的区别

@GetMapping用于处理HTTP GET请求,而@PostMapping用于处理HTTP POST请求。这两个注解在参数传递方式、安全性、RESTful API设计以及参数长度限制方面也有所不同:12

  1. 参数传递方式:@GetMapping通常从URL路径中获取参数,而@PostMapping则从请求体中获取参数。
  2. 安全性:由于POST请求将数据放在请求体中,而GET请求会将数据放在URL中,因此POST请求比GET请求更安全,因为GET请求将参数暴露在URL中,所以不建议使用GET请求来处理敏感数据。
  3. RESTful API设计:@GetMapping通常用于查询资源,而@PostMapping通常用于创建或更新资源。
  4. 参数长度限制:虽然GET请求理论上没有请求体的大小限制,但是URL的长度有一定的限制,因此在传递大量参数或者长字符串时,可能会出现参数被截断的情况。

简而言之,@Postmapping和@Getmapping的主要区别在于它们分别对应HTTP的POST和GET请求,并且在处理方式、安全性和设计原则上有所不同。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/12102.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

NASA数据即——Aqua AIRS 第 3 级光谱出射长波辐射 (OLR) 月报 (AIRSIL3MSOLR)

Aqua AIRS Level 3 Spectral Outgoing Longwave Radiation (OLR) Monthly (AIRSIL3MSOLR) Aqua AIRS 第 3 级光谱出射长波辐射 (OLR) 月报 (AIRSIL3MSOLR) 简介 这个 L3 光谱出射长波辐射(OLR)是根据密歇根大学黄向磊开发的算法,利用 AIRS…

前端XHR请求数据

axios封装了XHR(XMLHttpRequest) 效果 项目结构 Jakarta EE9&#xff0c;Web项目。 无额外的maven依赖 1、Web页面 index.html <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title&…

【JS红宝书学习笔记】第1、2章 初识JS

第1章 什么是JavaScript JavaScript 是一门用来与网页交互的脚本语言&#xff0c;包含以下三个组成部分。 ECMAScript&#xff1a;由 ECMA-262 定义并提供核心功能。文档对象模型&#xff08;DOM&#xff09;&#xff1a;提供与网页内容交互的方法和接口。浏览器对象模型&…

鸿蒙内核源码分析 (内存池管理) | 如何高效切割合并内存块

动态分配 系列篇将动态分配分成上下两篇&#xff0c;本篇为下篇&#xff0c;阅读之前建议翻看上篇。 鸿蒙内核源码分析(TLFS算法) 结合图表从理论视角说清楚 TLFS 算法鸿蒙内核源码分析(内存池管理) 结合源码说清楚鸿蒙内核动态内存池实现过程&#xff0c;个人认为这部分代码…

羊大师分析,羊奶助力共筑健康中国新生活

羊大师分析&#xff0c;羊奶助力共筑健康中国新生活 在健康中国行动的大背景下&#xff0c;我们越来越注重生活方式的健康与营养。羊大师发现&#xff0c;羊奶作为一种营养丰富、易于吸收的天然食品&#xff0c;正逐渐成为我们追求健康生活的得力助手。 羊奶富含优质蛋白质、矿…

vue3自定义指令​(通过指令钩子获得dom和钩子参数)

实现文本框自动获得焦点 Index.vue: <script setup> import { ref, onMounted } from vue import ./index.cssconst vFocus {mounted: (el, binding) > {el.focus()console.log(binding)} }onMounted(() > {}) </script><template><div class&qu…

设计说明-行为型-状态模式-State

状态接口 public interface State {//状态接口void insertQuarter();//投币void ejectQuarter();//退币void turnCrank();//按下“出纸巾”按钮void dispense();//出纸巾 } 有纸巾类 public class HasQuarterState implements State {private TissueMachine tissueMachine;O…

Python实战开发及案例分析(21)—— 广度优先

广度优先搜索&#xff08;Breadth-First Search, BFS&#xff09;是图和树结构中的一种基本搜索算法。它从根节点开始逐层遍历&#xff0c;先访问所有邻近节点&#xff0c;然后再遍历这些邻近节点的邻居。BFS通常使用队列来实现这一过程。在Python中&#xff0c;可以使用collec…

前端学习——工具的使用

文章目录 1. 引入一个组件需要什么步骤2. 监听变量的修改3. async与await实现异步调用4. position: relative5. 定时执行方法 1. 引入一个组件需要什么步骤 引入一个组件&#xff0c;一定不要加{} &#xff08;对&#xff09;import editForm from “./component/editForm”; …

Python中tkinter编程入门4

在Python中tkinter编程入门3-CSDN博客中创建了Button控件&#xff0c;点击该控件就会产生一个点击事件&#xff0c;在创建Button控件时指定该点击事件的处理程序后&#xff0c;按键控件就会对用户的点击事件产生响应。 1 定义事件处理器 定义事件处理器就是一个自定义的函数。…

前端连续发送同一个请求时,终止上一次请求

场景&#xff1a;几个tab页之间快速的切换&#xff08;tab页只是参数不同&#xff0c;下边的数据渲染给同一个data&#xff09;就会导致如果我在1,2,3&#xff0c;tab页按照顺序快速点击&#xff0c;发送三个请求&#xff0c;我想要展示的是3但是如果1或者2请求响应的时间比3长…

Python tensor向量维度转换,不同维度的向量转化为相同的维度,经过全连接层MLP的维度转换,代码实战

问题&#xff1a;在机器学习特征工程中&#xff0c;假如每类特征需要转化为相同的维度进行拼接&#xff0c;那该怎么办呢&#xff1f;接一个全连接层MLP就可以了。 例子&#xff1a;将&#xff08;128,64&#xff09; 维度的向量转化为&#xff08;128,32&#xff09;维。 impo…

CountDownLatch的 常用场景及使用示例

CountDownLatch的 常用场景及使用示例 CountDownLatch是Java并发编程中一个非常实用的同步工具类&#xff0c;它允许一个或多个线程等待其他线程完成操作后再继续执行。其核心功能在于控制线程的执行流程&#xff0c;确保某些关键操作或准备工作完全就绪后&#xff0c;再释放等…

Stm32串口搭配DMA实现自定义printf、scanf

前言:本文仅供学习参考使用&#xff0c;主要目的是让大家快速使用串口调试&#xff0c;文章所提及的GCC适用于Clion&#xff0c;Vscode等第三方编辑器的用户。作者有时间会继续更新^_^ 一、GCC环境 1、标准库 (1)、使用方法 在主函数while(1)初始化中&#xff0c;添加Seria…

柯桥法语学习-5大法语听写网站:全力助攻你的dictée!

提到法语dicte&#xff0c;绝对可是法语学生们的老大难&#xff0c;简直就是心痛得不能自已啊&#xff01;所以今天&#xff0c;法语君整理了5个听写网站助攻大家的dicte哦&#xff01; Projet Voltaire 01 一个很容易让你对dicte上瘾的APP 写邮件、实习报告或者动机信时&…

vue + koa2 + crypto-js + md5加密:创建加密账户、登录验证

一、前端页面设置 1、创建账户 import CryptoJS from crypto-js; const loginFun function () {request({url: /user/register,method: post,data: {username: ruleForm.username,password: CryptoJS.MD5(ruleForm.password).toString(),role: ruleForm.role}}).then((res) …

徐翔——投资的心性

徐翔&#xff0c;1976年出生。 1993年&#xff0c;徐翔当时还是个高中生&#xff0c;17岁的他带着父母给的几万元本钱进入股票市"那个时候&#xff0c;宁波老百姓家里几万元很正常,而且家里就我一个小孩。”徐翔说。场。1994年&#xff0c;18岁的徐翔放弃高考&#xff0c…

XML的现状及其发展

XML&#xff08;Extensible Markup Language&#xff09;是一种用于描述结构化数据的标记语言&#xff0c;它具有良好的可读性和可扩展性&#xff0c;并且被广泛应用于数据交换、数据存储和配置文件等领域。 目前&#xff0c;XML仍然是一种非常重要的数据交换格式。它被广泛应…

Nat Plants | 植物抽核单细胞!多组学探究大豆根瘤成熟过程

发表时间&#xff1a;2023-04 发表期刊&#xff1a;Nature Plants 影响因子&#xff1a;17.352 DOI&#xff1a;10.1038/s41477-023-01387-z 研究背景 根瘤菌是亲和互作寄主植物&#xff0c;感染宿主并在根部形成共生器官根瘤&#xff0c;具有固氮…

jmeter中HttpClient4发送失败,java方法请求成功

jmeter中HttpClient4请求失败 上传文件时&#xff1a;Httpclient4: 请求体 请求头 响应结果 ,后端服务都总是提示存在非法标签。 jmeter中使用java请求成功 修改使用java方式&#xff0c;访问正常&#xff1b; 根据分析可能因为HC4对一些特殊字符会进行转义&#xff0c;转义后…