Java笔记Day42:初入六六村!(springMVC前后端不同数据类型传值)

1.前端传参方式:

1.url传参:

数据参数直接写在url地址中,一般使用get请求。

使用params传输的就是url类型的参数;

params 参数通常用于发送 URL 查询参数。

这些参数会附加到请求的 URL 中,

并以 key=value 的形式出现,用 & 符号分隔多个参数。

就拼接在url 问号?后面的东西

后端接收用@RequestParam或者实体类接收


优点:一个TCP传输就可以将参数传递给服务器,速度快。


缺点:参数直接暴露在浏览器中,不安全。

2.请求体body'中

使用data传输的数据会被放到请求体中;

data 参数通常用于发送表单数据,如提交 HTML 表单时。

数据将以表单形式编码,并发送到服务器。
可以发送键值对、文件上传等数据。
通常发送的数据是字典或类似的数据结构。
在header中’Content-Type’ 字段’application/x-www-form-urlencoded’

后端使用@RequestBody或者实体类接收

使用请求体传参有多种content-type可以选择,例如:JSON、form-data、

x-www-form-urlencoded、xml

优点:相对安全,没有大小限制。
缺点:需要两个TCP传输,第一次传输head,第二次传输body。

所以基本是get请求用params传参,post用data传参

2.Restful

下常用的几种http请求方式为get、post、put、patch、delete

  1. get 获取资源
  2. post 创建资源
  3. put 创建或更新资源(有则更新,无则创建)
    例如 PUT /items/1 的意思是替换 /items/1 ,存在则替换,不存在则创建。
    所以,PUT方法一般会用来更新一个已知资源。
  4. patch 部分更新资源
  5. delete 删除资源

3.conten-type

conten-type不同数据格式及使用注意事项:
1.application/json (axios默认post格式)
这个大家很熟悉,就是json格式的数据,在网络流中被编码成json格式的字符串,如:{“key1”:“value1”,“key2”:“value2”}

2.application/x-www-form-urlencoded
浏览器的原生 form 表单格式,默认以 application/x-www-form-urlencoded 方式提交数据。

提交的数据按照 key1=val1&key2=val2 的方式进行编码,key 和 val 都进行了 URL 转码,最终网络流中被编码成类似于这种格式的字符串:title=test&sub%5B%5D=1&sub%5B%5D=2&sub%5B%5D=3

3.multipart/form-data
也是浏览器的原生 form 表单格式,与上面不同的是,这个既可以传键值对,也可以用来上传文件。我们使用表单上传文件时,必须让 form 的 enctyped 等于这个值。

总结:

  • url链接能看到用params。
  • Content-Type 为 application/x-www-form-urlencoded或form-data 用data。
  • Content-Type 为 application/json,用json。

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

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

相关文章

数学建模算法与应用 第12章 现代优化算法

目录 12.1 粒子群优化算法 Matlab代码示例:粒子群优化算法求解函数最小值 12.2 遗传算法 Matlab代码示例:遗传算法求解函数最小值 12.3 蚁群算法 Matlab代码示例:蚁群算法求解旅行商问题 12.4 Matlab 遗传算法工具 使用遗传算法工具箱…

docker overlay 占用空间太大,迁移到 /data/

将 Docker 的 overlay 存储驱动迁移到 /data/ 目录下,可以通过以下步骤完成: 1. 停止 Docker 服务 首先,停止 Docker 服务以确保没有容器在运行,并且数据不会被写入到当前的存储位置。 sudo systemctl stop docker2. 备份现有数…

PyCharm打开及配置现有工程(详细图解)

本文详细介绍了如何利用Pycharm打开一个现有的工程,其中包括编译器的配置。 PyCharm打开及配置现有工程 1、打开工程2、配置编译器 1、打开工程 双击PyCharm软件,点击左上角 文件 >> 打开(O)… 选中想要打开的项目之后点击“确定” 2、配置编译器…

余承东直播论道智能驾驶:激光雷达不可或缺,华为ADS 3.0引领安全创新

华为余承东:激光雷达,智能驾驶安全性的关键 9月29日,华为消费者业务集团CEO余承东在一场引人注目的直播中,与知名主持人马东就智能驾驶技术的最新进展进行了深入交流。在这场直播中,余承东针对激光雷达在智能驾驶中的必要性问题,发表了明确且深刻的观点,引发了业界和公众…

报错 - llama-index pydantic error | arbitrary_types_allowed | PydanticUserError

国庆节前使用 LiteLLMEmbedding 设置 llama-index Settings.embed_model 还好好的,回来后,就就报错,试着降级 llama-index 也无用;设置 Settings.llm 也是好好地。 解决方法:conda 重新创建环境后,在安装 …

uniapp自定义导航,全端兼容

我们在用uniapp 开发应用的时候,有的页面需要自定义导航, 1.如果普通的直接使用uni 扩展柜组件的 uni-nav-bar 也基本够用, 2.如果稍微带点自定义的这个值无法支持的,特别在小程序端,胶囊是会压住右边的按钮的 自定…

小白必看web专题!PHP-WebShell免杀(基础版)!!真的很简单!(全网最详细版本)

大家好,我是Dest1ny! 最近一直在搞辅导啥的,所以没啥时间搞写~ 也谢谢大家一直的点赞,今天特意把之前的web专题再发一个。 废话不多说,我们直接开始! CLASS-1 WebShell免杀测试 渊龙Sec团队导…

PyQt5常用功能三

日历 QCalendarWidget 提供了基于⽉份的⽇历插件,⼗分简易⽽且直观 from PyQt5.QtWidgets import (QWidget, QCalendarWidget,QLabel, QApplication, QVBoxLayout) from PyQt5.QtCore import QDate import sysclass Example(QWidget):def __init__(self):super().…

[C#]项目中如何用 GraphQL 代替传统 WebAPI服务

在现代应用程序开发中,传统的 WebAPI 通常使用 RESTful 设计风格,然而近年来 GraphQL 作为一种新的 API 查询语言逐渐获得广泛应用。GraphQL 允许客户端精确地查询所需的数据,减少了过度请求和不足请求的问题。本文将详细讨论在项目中用 Grap…

Linux高阶——0928—Github本地仓库与云端仓库关联

1、安装代理软件 steam 选择Github和系统代理模式,一键加速即可 2、 安装Git 3、访问Github网站,创建新用户 4、Github探索 (1)Explore探索标签 (2)工程结构 用户名/仓库名 自述文件,用markdo…

SPI通信——FPGA学习笔记14

一、简介 SPI(Serial Periphera Interface,串行外围设备接口)通讯协议,是 Motorola 公司提出的一种同步串行接口技术,是一种高速、全双工、同步通信总线,在芯片中只占用四根管脚用来控制及数据传输,广泛用于 EEPROM、F…

多层感知机(MLP)实现考勤预测二分类任务(sklearn)

1、基础应用: https://blog.csdn.net/qq_36158230/article/details/118670801 多层感知机(MLP)实现考勤预测二分类任务(sklearn) 2、分类器参数:https://scikit-learn.org/dev/modules/generated/sklearn.neural_network.MLPClassifier.html 3、损失函数…

Redis配置篇 - 指定Redis配置的三种方式,以及Redis配置文件介绍

文章目录 1 指定Redis配置的三种方式1.1 通过命令行参数来指定Redis配置1.2 通过配置文件来指定Redis配置1.3 在服务器运行时更​​改 Redis 配置 2 关于Redis配置文件 1 指定Redis配置的三种方式 1.1 通过命令行参数来指定Redis配置 在redis启动时,可以直接通过命…

绿野仙踪不仅是童话,还是便宜又好用的产品测试法!

以 ChatGPT 为代表的大语言模型爆火后,推动了对话类人工智能产品的高速发展,我们已经看到了如智能助理、问答系统、自动写作等多种类型的个性化对话类 AI 服务。 AI 能力的提升让人们对智能 AI 产品的期望越来越高,相关产品的用户体验也因此变…

【音频可视化】通过canvas绘制音频波形图

前言 这两天写项目刚好遇到Ai对话相关的需求,需要录音功能,绘制录制波形图,写了一个函数用canvas实现可视化,保留分享一下,有需要的直接粘贴即可,使用时传入一个1024长的,0-255大小的Uint8Arra…

豆包MarsCode 合伙人计划限时招募中,推广最高赢万元现金!

豆包MarsCode 合伙人计划正式上线啦!作为官方推出的推广激励项目,豆包MarsCode 编程助手号召和鼓励所有用户向我们推荐新用户。 现在正式开启首轮合伙人招募,诚邀各位有意愿推广普及 AI 编程产品的伙伴成为我们的合伙人,全国限量…

jmeter输出性能测试报告(常见问题处理与处理)

问题1:报错 WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows R 意思是:报没有权限 处理: 操作非gui生成测试报告的方法 cmd界面进入到 jmeter的bin目录 jmeter –n –t -l -e –o …

对后端返回的日期属性进行格式化(扩展 Spring MVC 的消息转换器)

格式化之前 格式化之后: 解决方式 方式一 在属性中加上注解,对日期进行格式化 JsonFormat(pattern "yyyy-MM-dd HH:mm:ss")private LocalDateTime createTime;//JsonFormat(pattern &quo…

“校友会综合服务平台:连接校友与母校的桥梁”

在当今信息化时代,校友会作为校友与母校之间的重要桥梁,其功能与服务不断拓展和深化。为了更好地满足校友的需求,构建一个高效、便捷的校友服务体系,我们开发了一款基于FastAdmin ThinkPHP Uniapp技术架构的校友会综合服务平台。…

什么是汽车中的SDK?

无论是在家里使用预制菜包做一顿大厨级别的晚餐,还是使用IKEA套组装配出时尚的北欧风桌子,我们都熟悉这样一种概念:比起完全从零开始,使用工具包可以帮助我们更快、更高效地完成一件事。 在速度至关重要的商业软件领域&#xff0…