关于application/x-www-form-urlencoded跟application/json请求的区别

news2024/10/10 22:28:23

当你的java方法是这样定义的

@PostMapping("/rePushMedicalRecord") public String rePushMedicalRecord(@RequestParam("topicId") String topicId){

}

参数是@RequestParam接收,则请求时需要用application/x-www-form-urlencoded请求

如果是@RequestBody 则需要定义入参对象,从字段中获取数值

@PostMapping("/rePushMedicalRecord") public String rePushMedicalRecord(@RequestBody  BodyData bodyData){

dodyData.getTopicId();方式获取数据

}

application/x-www-form-urlencoded 和 application/json 是两种不同的 Content-Type,它们各自有不同的用途和编码方式,用于在 HTTP 请求中发送数据。以下是这两种 Content-Type 的主要区别:

1. application/x-www-form-urlencoded

  • 用途:主要用于发送表单数据,尤其是 HTML 表单数据。
  • 编码方式:数据被编码为键值对(key-value pairs),使用等号 (=) 分隔键和值,使用 & 符号分隔不同的键值对。例如:key1=value1&key2=value2
  • 请求体示例name=John+Doe&age=30&city=New+York
  • 优点:简单、易读,兼容性好(大多数浏览器和服务器都支持)。
  • 缺点:对于复杂的数据结构(如数组、嵌套对象)表示起来较为繁琐,不直观。

2. application/json

  • 用途:用于发送 JSON 格式的数据,通常用于 RESTful API。
  • 编码方式:数据被编码为 JSON 字符串,这是一种轻量级的数据交换格式。
  • 请求体示例{"name": "John Doe", "age": 30, "city": "New York", "hobbies": ["reading", "cinema"]}
  • 优点:能够清晰地表示复杂的数据结构(如数组、嵌套对象),易于阅读和编写。JSON 格式是通用的,并且被各种编程语言和框架广泛支持。
  • 缺点:与 application/x-www-form-urlencoded 相比,可能需要更多的处理逻辑来解析 JSON 数据。

选择哪种 Content-Type?

  • 如果你在发送简单的表单数据,并且只需要键值对,那么 application/x-www-form-urlencoded 可能是一个不错的选择。
  • 如果你在发送复杂的数据结构,或者你的 API 遵循 RESTful 设计原则,那么 application/json 通常是更好的选择。

在 Spring Boot 应用程序中,你可以通过 @RequestBody 注解来接收 application/json 类型的请求体,并通过 @RequestParam@PathVariable 或 @ModelAttribute 等注解来接收 application/x-www-form-urlencoded 类型的请求参数。

@PostMapping("/rePushMedicalRecord1/{id}")
public String rePushMedicalRecord1(@PathVariable("id") String id){}

请求地址可以写成/rePushMedicalRecord1/你的id

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

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

相关文章

【ARMv8/v9 GIC 系列 2.3 -- GIC SPI 中断的 GICD_CLRSPI_NSR寄存器】

文章目录 GICD_CLRSPIN_NSR寄存器功能INTID 位 [12:0]中断触发类型的影响小结 GICD_CLRSPIN_NSR 在 ARMv9 架构下,GIC(Generic Interrupt Controller)是负责中断管理的关键组件,它支持复杂的中断处理需求,包括多处理器…

OS中断机制-嵌套和竞争

对于FreeRTOS最好不去用中断嵌套,中断嵌套会增加堆栈空间的使用,因为每个中断服务程序都需要保存和恢复寄存器状态,这可能会耗尽有限的堆栈空间,从而导致系统故障。以及中断嵌套时,不同的中断服务程序可能会竞争访问共享资源,从而增加死锁的风险。这可能会导致系统出现故…

第二节课 6月13日 ssh密钥登陆方式

centos和ubuntu openssh服务的初始安装 一、实验:ubuntu系统激活root用户 ubuntu系统如何激活root用户,允许root用户ssh登陆? 1、ubuntu默认root用户未设置密码,未激活 激活root用户,设置root密码 sudo passwd roo…

从零开始做题:修猫

修猫 1 题目 2 解题 2.1 使用Stegslove分析图片 (base) ┌──(holyeyes㉿kali2023)-[~/Misc/tool-misc] └─$ java -jar Stegsolve.jar 2.2 analyse -frame browser 2.3 得到flag DASCTF{818ca3a840e768da7d5fcdeaedd5012f}

37岁,被裁员,失业三个月,被面试官嫌弃“太水”:就这也叫10年以上工作经验?

今年部门要招两个自动化测试,这几个月我面试了几十位候选人。发现一个很奇怪的现象,面试中一问到元素定位、框架api、脚本编写之类的,很多候选人都对答如流。但是一问到实际项目,比如“项目中UI自动化和接口自动化如何搭配使用&am…

前端:HTML、CSS、JavaScript 代码注释 / 注释与代码规范

一、HTML 行内注释 HTML注释是在HTML代码中添加说明和解释的一种方法&#xff0c;这些注释不会被浏览器渲染或显示在页面上&#xff0c;而是被浏览器忽略。HTML注释对于代码的可读性、可维护性和团队协作非常重要。 1.1、HTML注释的语法 HTML注释的语法是以<!--开始&…

【算法与数据结构】【字符串篇】【String的常见函数】

系列文章 本人系列文章-CSDN博客https://blog.csdn.net/handsomethefirst/article/details/138226266?spm1001.2014.3001.5502 1.string基本概念 string是C风格的字符串&#xff0c;而string本质上是一个类。 string和char * 区别&#xff1a; char * 是一个指针 string是一…

OpenAI 收购桌面实时协作公司 Multi;iOS 18 开放 iPhone 镜像测试丨RTE 开发者日报 Vol.231

开发者朋友们大家好&#xff1a; 这里是 「RTE 开发者日报」 &#xff0c;每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE&#xff08;Real-Time Engagement&#xff09; 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

[深度学习] 卷积神经网络CNN

卷积神经网络&#xff08;Convolutional Neural Network, CNN&#xff09;是一种专门用于处理数据具有类似网格结构的神经网络&#xff0c;最常用于图像数据处理。 一、CNN的详细过程&#xff1a; 1. 输入层 输入层接收原始数据&#xff0c;例如一张图像&#xff0c;它可以被…

图片怎么加水印?快来试试这6个图片加水印方法(2024年新)

图片怎么加水印&#xff1f;作为打工人在日常的工作生活中总会遇到各种各样的工作难题&#xff0c;相信从事电商或者是设计等工作的小伙伴们&#xff0c;遇到最多的问题应该就是给图片添加水印了。为什么要给图片加水印&#xff1f;其实给图片加水印最主要的目的是保护我们的图…

Linux集群自动化维护-Ansible

1.1Ansible概述 自动化运维&#xff1a;批量管理&#xff0c;批量分发&#xff0c;批量执行&#xff0c;维护。。是python写的 批量管理工具&#xff1a; Ansible&#xff08;无客户端&#xff09;&#xff1a;无客户端&#xff0c;基于ssh进行管理与维护 Saltstack &#…

深度之眼(二十五)——研究生学习计划安排

文章目录 一、前言二、结构安排和规划2.1 夯实基础2.2 分方向训练&#xff08;待&#xff09;2.3 进阶训练 三、其他 一、前言 课题组这边是需要对机器视觉有所要求吧&#xff0c;也就是CV方向。这一届研三师兄也都是在大厂拿到30W的年薪了&#xff0c;也是需要拥抱深度学习这…

NineData和华为云在一起!提供一站式智能数据库DevOps平台

以GuassDB数据库为底座 NineData和华为云一起 为企业提供 一站式智能数据库DevOps平台 帮助开发者 高效、安全地完成 数据库SQL审核 访问控制、敏感数据保护等 日常数据库相关开发任务 NineData 智能数据管理平台 NineData 作为新一代的云原生智能数据管理平台&#xf…

SpringCloud:Gateway服务网关

程序员老茶 &#x1f648;作者简介&#xff1a;练习时长两年半的Java up主 &#x1f649;个人主页&#xff1a;程序员老茶 &#x1f64a; P   S : 点赞是免费的&#xff0c;却可以让写博客的作者开心好久好久&#x1f60e; &#x1f4da;系列专栏&#xff1a;Java全栈&#…

聚星文社ai工具下载

您可以在聚星文社官方网站上下载他们的AI工具。请访问他们的官方网站&#xff0c; 然后找到下载页面&#xff0c;从中选择并下载所需的AI工具。下载 如果您对下载过程有任何问题&#xff0c;建议您直接联系聚星文社的客服人员寻求帮助。

统信UOS系统忘记登录密码怎么办

在使用统信操作系统UOS的时候有可能会出现忘记密码的情况&#xff0c;当遇到了用户登录密码忘记时如何修改&#xff1f;今天分享一下忘记超级系统管理员Root以及普通密码时的解决方法。 因为UOS系统版本的原因&#xff0c;UOS 1031操作系统取消了单用户更改密码的方法&#xff…

Sulfo Cy3-NHS Ester生物标记与成像

【星戈瑞stargraydye】以下数据均来自文献资料,星戈瑞暂未进行独立验证, 仅供参考&#xff01; 在生物医学研究的前沿领域&#xff0c;荧光标记技术扮演着科研角色。其中&#xff0c;Sulfo Cy3 NHS Ester作为一种性能的荧光染料&#xff0c;以其高灵敏度、高特异性以及良好的生…

绿色共享购:共创绿色消费新纪元

在当今快节奏的社会中&#xff0c;人们对绿色消费和共享经济的追求愈发凸显其重要性。为了满足这一需求&#xff0c;我们创新推出了“绿色共享购”这一前沿的消费增值模式。该模式不仅有效整合了商家资源&#xff0c;更通过其独特的机制&#xff0c;实现了商家与消费者的双重增…

Unity关于Addressables.Release释放资源内存问题

前言 最近在编写基于Addressables的资源管理器&#xff0c;对于资源释放模块配合MemoryProfiler进行了测试&#xff0c;下面总结下测试Addressables.Release的结论。 总结 使用Addressables.Release释放资源时&#xff0c;通过MemoryProfiler检查内存信息发现加载的内容还在…

[leetcode]unique-paths 不同路径

. - 力扣&#xff08;LeetCode&#xff09; class Solution { public:int uniquePaths(int m, int n) {vector<vector<int>> f(m, vector<int>(n));for (int i 0; i < m; i) {f[i][0] 1;}for (int j 0; j < n; j) {f[0][j] 1;}for (int i 1; i &l…